ui::Window m_parent{ui::null};
ui::GLArea m_gl_widget{ui::null};
-ui::Widget m_texture_scroll;
-ui::Widget m_treeViewTree;
-ui::Widget m_treeViewTags;
+ui::Widget m_texture_scroll{ui::null};
+ui::Widget m_treeViewTree{ui::null};
+ui::Widget m_treeViewTags{ui::null};
ui::Frame m_tag_frame{ui::null};
ui::ListStore m_assigned_store{ui::null};
ui::ListStore m_available_store{ui::null};
-ui::Widget m_assigned_tree;
-ui::Widget m_available_tree;
-ui::Widget m_scr_win_tree;
-ui::Widget m_scr_win_tags;
-ui::Widget m_tag_notebook;
+ui::Widget m_assigned_tree{ui::null};
+ui::Widget m_available_tree{ui::null};
+ui::Widget m_scr_win_tree{ui::null};
+ui::Widget m_scr_win_tags{ui::null};
+ui::Widget m_tag_notebook{ui::null};
ui::Button m_search_button{ui::null};
-ui::Widget m_shader_info_item;
+ui::Widget m_shader_info_item{ui::null};
std::set<CopiedString> m_all_tags;
ui::ListStore m_all_tags_list{ui::null};
TextureBrowser() :
m_texture_scroll( 0 ),
m_hideunused_item( TextureBrowserHideUnusedExport() ),
+ m_hidenotex_item( TextureBrowserFilterFallbackExport() ),
m_showshaders_item( TextureBrowserShowShadersExport() ),
m_showshaderlistonly_item( TextureBrowserShowShaderlistOnlyExport() ),
m_fixedsize_item( TextureBrowserFixedSizeExport() ),
m_filternotex_item( TextureBrowserFilterMissingExport() ),
- m_hidenotex_item( TextureBrowserFilterFallbackExport() ),
m_enablealpha_item( TextureBrowserEnableAlphaExport() ),
m_heightChanged( true ),
m_originInvalid( true ),
void TextureBrowser_importShowScrollbar( TextureBrowser& textureBrowser, bool value ){
textureBrowser.m_showTextureScrollbar = value;
if ( textureBrowser.m_texture_scroll != 0 ) {
- widget_set_visible( textureBrowser.m_texture_scroll, textureBrowser.m_showTextureScrollbar );
+ textureBrowser.m_texture_scroll.visible(textureBrowser.m_showTextureScrollbar);
TextureBrowser_updateScroll( textureBrowser );
}
}
void TextureBrowser_SetHideUnused( TextureBrowser& textureBrowser, bool hideUnused );
-ui::Widget g_page_textures;
+ui::Widget g_page_textures{ui::null};
void TextureBrowser_toggleShow(){
GroupDialog_showPage( g_page_textures );
void BuildStoreAssignedTags( ui::ListStore store, const char* shader, TextureBrowser* textureBrowser ){
GtkTreeIter iter;
- gtk_list_store_clear( store );
+ store.clear();
std::vector<CopiedString> assigned_tags;
TagBuilder.GetShaderTags( shader, assigned_tags );
for ( size_t i = 0; i < assigned_tags.size(); i++ )
{
- gtk_list_store_append( store, &iter );
- gtk_list_store_set( store, &iter, TAG_COLUMN, assigned_tags[i].c_str(), -1 );
+ store.append(TAG_COLUMN, assigned_tags[i].c_str());
}
}
std::set<CopiedString>::const_iterator iterAll;
gchar* tag_assigned;
- gtk_list_store_clear( storeAvailable );
+ storeAvailable.clear();
bool row = gtk_tree_model_get_iter_first( GTK_TREE_MODEL( storeAssigned ), &iterAssigned ) != 0;
if ( !row ) { // does the shader have tags assigned?
for ( iterAll = allTags.begin(); iterAll != allTags.end(); ++iterAll )
{
- gtk_list_store_append( storeAvailable, &iterAvailable );
- gtk_list_store_set( storeAvailable, &iterAvailable, TAG_COLUMN, ( *iterAll ).c_str(), -1 );
+ storeAvailable.append(TAG_COLUMN, (*iterAll).c_str());
}
}
else
for ( iterAll = allTags.begin(); iterAll != allTags.end(); ++iterAll )
{
if ( strcmp( (char*)tag_assigned, ( *iterAll ).c_str() ) != 0 ) {
- gtk_list_store_append( storeAvailable, &iterAvailable );
- gtk_list_store_set( storeAvailable, &iterAvailable, TAG_COLUMN, ( *iterAll ).c_str(), -1 );
+ storeAvailable.append(TAG_COLUMN, (*iterAll).c_str());
}
else
{
if ( GlobalTextureBrowser().m_tags ) {
textureBrowser->m_rmbSelected = false;
- gtk_widget_hide( textureBrowser->m_tag_frame );
+ textureBrowser->m_tag_frame.hide();
}
}
}
}
void TextureBrowser_createTreeViewTree(){
- g_TextureBrowser.m_treeViewTree = ui::TreeView();
+ g_TextureBrowser.m_treeViewTree = ui::TreeView(ui::New);
gtk_tree_view_set_enable_search( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTree ), FALSE );
gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTree ), FALSE );
g_TextureBrowser.m_treeViewTree.connect( "row-activated", (GCallback) TreeView_onRowActivated, NULL );
- auto renderer = ui::CellRendererText();
+ auto renderer = ui::CellRendererText(ui::New);
gtk_tree_view_insert_column_with_attributes( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTree ), -1, "", renderer, "text", 0, NULL );
TextureBrowser_constructTreeStore();
void TextureBrowser_deleteTag();
void TextureBrowser_createContextMenu( ui::Widget treeview, GdkEventButton *event ){
- ui::Widget menu = ui::Menu();
+ ui::Widget menu = ui::Menu(ui::New);
ui::Widget menuitem = ui::MenuItem( "Add tag" );
menuitem.connect( "activate", (GCallback)TextureBrowser_addTag, treeview );
}
void TextureBrowser_createTreeViewTags(){
- g_TextureBrowser.m_treeViewTags = ui::TreeView();
+ g_TextureBrowser.m_treeViewTags = ui::TreeView(ui::New);
gtk_tree_view_set_enable_search( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTags ), FALSE );
g_TextureBrowser.m_treeViewTags.connect( "button-press-event", (GCallback)TreeViewTags_onButtonPressed, NULL );
gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTags ), FALSE );
- auto renderer = ui::CellRendererText();
+ auto renderer = ui::CellRendererText(ui::New);
gtk_tree_view_insert_column_with_attributes( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTags ), -1, "", renderer, "text", 0, NULL );
TextureBrowser_constructTreeStoreTags();
if ( string_empty( g_pGameDescription->getKeyValue( "show_wads" ) ) ) {
menu_separator( menu );
- g_TextureBrowser.m_shader_info_item = ui::Widget(GTK_WIDGET( create_menu_item_with_mnemonic( menu, "Shader Info", "ShaderInfo" ) ));
+ g_TextureBrowser.m_shader_info_item = ui::Widget(create_menu_item_with_mnemonic( menu, "Shader Info", "ShaderInfo" ));
gtk_widget_set_sensitive( g_TextureBrowser.m_shader_info_item, FALSE );
}
TagBuilder.AddShaderTag( g_TextureBrowser.shader.c_str(), (char*)tag_assigned, TAG );
gtk_list_store_remove( g_TextureBrowser.m_available_store, &iter );
- gtk_list_store_append( g_TextureBrowser.m_assigned_store, &iter );
- gtk_list_store_set( g_TextureBrowser.m_assigned_store, &iter, TAG_COLUMN, (char*)tag_assigned, -1 );
+ g_TextureBrowser.m_assigned_store.append(TAG_COLUMN, tag_assigned);
}
}
}
}
void TextureBrowser_buildTagList(){
- GtkTreeIter treeIter;
- gtk_list_store_clear( g_TextureBrowser.m_all_tags_list );
+ g_TextureBrowser.m_all_tags_list.clear();
std::set<CopiedString>::iterator iter;
for ( iter = g_TextureBrowser.m_all_tags.begin(); iter != g_TextureBrowser.m_all_tags.end(); ++iter )
{
- gtk_list_store_append( g_TextureBrowser.m_all_tags_list, &treeIter );
- gtk_list_store_set( g_TextureBrowser.m_all_tags_list, &treeIter, TAG_COLUMN, ( *iter ).c_str(), -1 );
+ g_TextureBrowser.m_all_tags_list.append(TAG_COLUMN, (*iter).c_str());
}
}
gtk_widget_show_all( g_TextureBrowser.m_search_button );
}
else {
- gtk_widget_hide( g_TextureBrowser.m_search_button );
+ g_TextureBrowser.m_search_button.hide();
}
}
void TextureBrowser_constructSearchButton(){
ui::Widget image = ui::Widget(gtk_image_new_from_stock( GTK_STOCK_FIND, GTK_ICON_SIZE_SMALL_TOOLBAR ));
- g_TextureBrowser.m_search_button = ui::Button();
+ g_TextureBrowser.m_search_button = ui::Button(ui::New);
g_TextureBrowser.m_search_button.connect( "clicked", G_CALLBACK( TextureBrowser_searchTags ), NULL );
gtk_widget_set_tooltip_text(g_TextureBrowser.m_search_button, "Search with selected tags");
g_TextureBrowser.m_search_button.add(image);
name << GlobalRadiant().getAppPath() << "bitmaps/" NOTEX_BASENAME ".png";
g_notex = name.c_str();
- name = NULL;
+ name = StringOutputStream(256);
name << GlobalRadiant().getAppPath() << "bitmaps/" SHADERNOTEX_BASENAME " .png";
g_shadernotex = name.c_str();
}
g_TextureBrowser.m_parent = toplevel;
ui::Widget table = ui::Table( 3, 3, FALSE );
- ui::Widget frame_table;
- ui::Widget vbox = ui::VBox( FALSE, 0 );
+ ui::Widget frame_table{ui::null};
+ auto vbox = ui::VBox(FALSE, 0);
gtk_table_attach( GTK_TABLE( table ), vbox, 0, 1, 1, 3, GTK_FILL, GTK_FILL, 0, 0 );
vbox.show();
- ui::Widget menu_bar;
+ ui::Widget menu_bar{ui::null};
{ // menu bar
menu_bar = ui::Widget(gtk_menu_bar_new());
- auto menu_view = ui::Menu();
+ auto menu_view = ui::Menu(ui::New);
auto view_item = TextureBrowser_constructViewMenu( menu_view );
gtk_menu_item_set_submenu( GTK_MENU_ITEM( view_item ), menu_view );
gtk_menu_shell_append( GTK_MENU_SHELL( menu_bar ), view_item );
- auto menu_tools = ui::Menu();
+ auto menu_tools = ui::Menu(ui::New);
auto tools_item = TextureBrowser_constructToolsMenu( menu_tools );
gtk_menu_item_set_submenu( GTK_MENU_ITEM( tools_item ), menu_tools );
gtk_menu_shell_append( GTK_MENU_SHELL( menu_bar ), tools_item );
menu_bar.show();
}
{ // Texture TreeView
- g_TextureBrowser.m_scr_win_tree = ui::ScrolledWindow();
+ g_TextureBrowser.m_scr_win_tree = ui::ScrolledWindow(ui::New);
gtk_container_set_border_width( GTK_CONTAINER( g_TextureBrowser.m_scr_win_tree ), 0 );
// vertical only scrolling for treeview
TextureBrowser_createTreeViewTree();
- gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( g_TextureBrowser.m_scr_win_tree ), GTK_WIDGET( g_TextureBrowser.m_treeViewTree ) );
+ gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( g_TextureBrowser.m_scr_win_tree ), g_TextureBrowser.m_treeViewTree );
g_TextureBrowser.m_treeViewTree.show();
}
{ // gl_widget scrollbar
auto vadjustment = ui::Adjustment(gtk_range_get_adjustment( GTK_RANGE( g_TextureBrowser.m_texture_scroll ) ));
vadjustment.connect( "value_changed", G_CALLBACK( TextureBrowser_verticalScroll ), &g_TextureBrowser );
- widget_set_visible( g_TextureBrowser.m_texture_scroll, g_TextureBrowser.m_showTextureScrollbar );
+ g_TextureBrowser.m_texture_scroll.visible(g_TextureBrowser.m_showTextureScrollbar);
}
{ // gl_widget
g_TextureBrowser.m_gl_widget = glwidget_new( FALSE );
TextureBrowser_buildTagList();
}
{ // tag menu bar
- auto menu_tags = ui::Menu();
+ auto menu_tags = ui::Menu(ui::New);
auto tags_item = TextureBrowser_constructTagsMenu( menu_tags );
gtk_menu_item_set_submenu( GTK_MENU_ITEM( tags_item ), menu_tags );
gtk_menu_shell_append( GTK_MENU_SHELL( menu_bar ), tags_item );
}
{ // Tag TreeView
- g_TextureBrowser.m_scr_win_tags = ui::ScrolledWindow();
+ g_TextureBrowser.m_scr_win_tags = ui::ScrolledWindow(ui::New);
gtk_container_set_border_width( GTK_CONTAINER( g_TextureBrowser.m_scr_win_tags ), 0 );
// vertical only scrolling for treeview
GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( g_TextureBrowser.m_treeViewTags ) );
gtk_tree_selection_set_mode( selection, GTK_SELECTION_MULTIPLE );
- gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( g_TextureBrowser.m_scr_win_tags ), GTK_WIDGET( g_TextureBrowser.m_treeViewTags ) );
+ gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( g_TextureBrowser.m_scr_win_tags ), g_TextureBrowser.m_treeViewTags );
g_TextureBrowser.m_treeViewTags.show();
}
{ // Texture/Tag notebook
TextureBrowser_constructTagNotebook();
- gtk_box_pack_start( GTK_BOX( vbox ), g_TextureBrowser.m_tag_notebook, TRUE, TRUE, 0 );
+ vbox.pack_start( g_TextureBrowser.m_tag_notebook, TRUE, TRUE, 0 );
}
{ // Tag search button
TextureBrowser_constructSearchButton();
- gtk_box_pack_end( GTK_BOX( vbox ), g_TextureBrowser.m_search_button, FALSE, FALSE, 0 );
+ vbox.pack_end(g_TextureBrowser.m_search_button, FALSE, FALSE, 0);
}
{ // Tag frame
frame_table = ui::Table( 3, 3, FALSE );
g_TextureBrowser.m_tag_frame.add(frame_table);
}
{ // assigned tag list
- ui::Widget scrolled_win = ui::ScrolledWindow();
+ ui::Widget scrolled_win = ui::ScrolledWindow(ui::New);
gtk_container_set_border_width( GTK_CONTAINER( scrolled_win ), 0 );
gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolled_win ), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS );
GtkTreeSortable* sortable = GTK_TREE_SORTABLE( g_TextureBrowser.m_assigned_store );
gtk_tree_sortable_set_sort_column_id( sortable, TAG_COLUMN, GTK_SORT_ASCENDING );
- auto renderer = ui::CellRendererText();
+ auto renderer = ui::CellRendererText(ui::New);
g_TextureBrowser.m_assigned_tree = ui::TreeView(ui::TreeModel( GTK_TREE_MODEL( g_TextureBrowser.m_assigned_store ) ));
g_TextureBrowser.m_assigned_store.unref();
g_TextureBrowser.m_assigned_tree.show();
scrolled_win.show();
- gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( scrolled_win ), GTK_WIDGET( g_TextureBrowser.m_assigned_tree ) );
+ gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( scrolled_win ), g_TextureBrowser.m_assigned_tree );
gtk_table_attach( GTK_TABLE( frame_table ), scrolled_win, 0, 1, 1, 3, GTK_FILL, GTK_FILL, 0, 0 );
}
{ // available tag list
- ui::Widget scrolled_win = ui::ScrolledWindow();
+ ui::Widget scrolled_win = ui::ScrolledWindow(ui::New);
gtk_container_set_border_width( GTK_CONTAINER( scrolled_win ), 0 );
gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scrolled_win ), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS );
GtkTreeSortable* sortable = GTK_TREE_SORTABLE( g_TextureBrowser.m_available_store );
gtk_tree_sortable_set_sort_column_id( sortable, TAG_COLUMN, GTK_SORT_ASCENDING );
- auto renderer = ui::CellRendererText();
+ auto renderer = ui::CellRendererText(ui::New);
g_TextureBrowser.m_available_tree = ui::TreeView(ui::TreeModel( GTK_TREE_MODEL( g_TextureBrowser.m_available_store ) ));
g_TextureBrowser.m_available_store.unref();
g_TextureBrowser.m_available_tree.show();
scrolled_win.show();
- gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( scrolled_win ), GTK_WIDGET( g_TextureBrowser.m_available_tree ) );
+ gtk_scrolled_window_add_with_viewport( GTK_SCROLLED_WINDOW( scrolled_win ), g_TextureBrowser.m_available_tree );
gtk_table_attach( GTK_TABLE( frame_table ), scrolled_win, 2, 3, 1, 3, GTK_FILL, GTK_FILL, 0, 0 );
}
{ // tag arrow buttons
- auto m_btn_left = ui::Button();
- auto m_btn_right = ui::Button();
+ auto m_btn_left = ui::Button(ui::New);
+ auto m_btn_right = ui::Button(ui::New);
auto m_arrow_left = ui::Widget(gtk_arrow_new( GTK_ARROW_LEFT, GTK_SHADOW_OUT ));
auto m_arrow_right = ui::Widget(gtk_arrow_new( GTK_ARROW_RIGHT, GTK_SHADOW_OUT ));
m_btn_left.add(m_arrow_left);
}
}
else { // no tag support, show the texture tree only
- gtk_box_pack_start( GTK_BOX( vbox ), g_TextureBrowser.m_scr_win_tree, TRUE, TRUE, 0 );
+ vbox.pack_start( g_TextureBrowser.m_scr_win_tree, TRUE, TRUE, 0 );
}
// TODO do we need this?
EMessageBoxReturn result = DoShaderTagDlg( &tag, "Add shader tag" );
if ( result == eIDOK && !tag.empty() ) {
- GtkTreeIter iter, iter2;
+ GtkTreeIter iter;
g_TextureBrowser.m_all_tags.insert( tag.c_str() );
gtk_list_store_append( g_TextureBrowser.m_available_store, &iter );
gtk_list_store_set( g_TextureBrowser.m_available_store, &iter, TAG_COLUMN, tag.c_str(), -1 );
GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( g_TextureBrowser.m_available_tree ) );
gtk_tree_selection_select_iter( selection, &iter );
- gtk_list_store_append( g_TextureBrowser.m_all_tags_list, &iter2 );
- gtk_list_store_set( g_TextureBrowser.m_all_tags_list, &iter2, TAG_COLUMN, tag.c_str(), -1 );
+ g_TextureBrowser.m_all_tags_list.append(TAG_COLUMN, tag.c_str());
}
}
}
else
{
- ui::Widget(GTK_WIDGET( g_TextureBrowser.m_parent )).alert( "Select a single tag for renaming." );
+ ui::Widget(g_TextureBrowser.m_parent ).alert( "Select a single tag for renaming." );
}
}
gtk_tree_selection_selected_foreach( selection, GtkTreeSelectionForeachFunc( TextureBrowser_selectionHelper ), &selected );
if ( g_slist_length( selected ) == 1 ) { // we only delete a single tag
- auto result = ui::Widget(GTK_WIDGET( g_TextureBrowser.m_parent )).alert( "Are you sure you want to delete the selected tag?", "Delete Tag", ui::alert_type::YESNO, ui::alert_icon::Question );
+ auto result = ui::Widget(g_TextureBrowser.m_parent ).alert( "Are you sure you want to delete the selected tag?", "Delete Tag", ui::alert_type::YESNO, ui::alert_icon::Question );
if ( result == ui::alert_response::YES ) {
GtkTreeIter iterSelected;
}
}
else {
- ui::Widget(GTK_WIDGET( g_TextureBrowser.m_parent )).alert( "Select a single tag for deletion." );
+ ui::Widget(g_TextureBrowser.m_parent ).alert( "Select a single tag for deletion." );
}
}
}
void TextureBrowser_showUntagged(){
- auto result = ui::Widget(GTK_WIDGET( g_TextureBrowser.m_parent )).alert( "WARNING! This function might need a lot of memory and time. Are you sure you want to use it?", "Show Untagged", ui::alert_type::YESNO, ui::alert_icon::Warning );
+ auto result = ui::Widget(g_TextureBrowser.m_parent ).alert( "WARNING! This function might need a lot of memory and time. Are you sure you want to use it?", "Show Untagged", ui::alert_type::YESNO, ui::alert_icon::Warning );
if ( result == ui::alert_response::YES ) {
g_TextureBrowser.m_found_shaders.clear();