X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=radiant%2Fentityinspector.cpp;h=8fd73db5d56b52d5f5d1579e01d1ac365485891f;hp=a82d7797b8c5cc9fa20e48ecf7adf6d766a9165c;hb=a9e5bfdf2a458e89978ee52ebbd3711884b54b29;hpb=69b4f74e6c95e22d6c6ce10d0e137c875fd83cc4 diff --git a/radiant/entityinspector.cpp b/radiant/entityinspector.cpp index a82d7797..8fd73db5 100644 --- a/radiant/entityinspector.cpp +++ b/radiant/entityinspector.cpp @@ -240,7 +240,7 @@ void update(){ } typedef MemberCaller UpdateCaller; void browse( const BrowsedPathEntry::SetPathCallback& setPath ){ - const char *filename = misc_model_dialog( ui::Widget(gtk_widget_get_toplevel( m_entry.m_entry.m_frame ) )); + const char *filename = misc_model_dialog( m_entry.m_entry.m_frame.window() ); if ( filename != 0 ) { setPath( filename ); @@ -303,7 +303,7 @@ void update(){ } typedef MemberCaller UpdateCaller; void browse( const BrowsedPathEntry::SetPathCallback& setPath ){ - const char *filename = browse_sound( ui::Widget(gtk_widget_get_toplevel( m_entry.m_entry.m_frame )) ); + const char *filename = browse_sound( m_entry.m_entry.m_frame.window() ); if ( filename != 0 ) { setPath( filename ); @@ -730,7 +730,7 @@ int g_spawnflag_count; int spawn_table[MAX_FLAGS]; // we change the layout depending on how many spawn flags we need to display // the table is a 4x4 in which we need to put the comment box g_entityClassComment and the spawn flags.. -GtkTable* g_spawnflagsTable; +ui::Table g_spawnflagsTable{ui::null}; ui::VBox g_attributeBox{ui::null}; typedef std::vector EntityAttributes; @@ -840,7 +840,7 @@ void SurfaceFlags_setEntityClass( EntityClass* eclass ){ g_current_flags = eclass; - int spawnflag_count = 0; + unsigned int spawnflag_count = 0; { // do a first pass to count the spawn flags, don't touch the widgets, we don't know in what state they are @@ -870,7 +870,7 @@ void SurfaceFlags_setEntityClass( EntityClass* eclass ){ g_spawnflag_count = spawnflag_count; { - for ( int i = 0; i < g_spawnflag_count; ++i ) + for (unsigned int i = 0; (int) i < g_spawnflag_count; ++i) { auto widget = ui::CheckButton(g_entitySpawnflagsCheck[i] ); widget.show(); @@ -878,9 +878,7 @@ void SurfaceFlags_setEntityClass( EntityClass* eclass ){ StringOutputStream str( 16 ); str << LowerCase( eclass->flagnames[spawn_table[i]] ); - gtk_table_attach( g_spawnflagsTable, widget, i % 4, i % 4 + 1, i / 4, i / 4 + 1, - (GtkAttachOptions)( GTK_FILL ), - (GtkAttachOptions)( GTK_FILL ), 0, 0 ); + g_spawnflagsTable.attach(widget, {i % 4, i % 4 + 1, i / 4, i / 4 + 1}, {GTK_FILL, GTK_FILL}); widget.unref(); auto label = ui::Label(GTK_LABEL(gtk_bin_get_child(GTK_BIN(widget)) )); @@ -890,7 +888,7 @@ void SurfaceFlags_setEntityClass( EntityClass* eclass ){ } void EntityClassList_selectEntityClass( EntityClass* eclass ){ - GtkTreeModel* model = GTK_TREE_MODEL( g_entlist_store ); + GtkTreeModel* model = g_entlist_store; GtkTreeIter iter; for ( gboolean good = gtk_tree_model_get_iter_first( model, &iter ); good != FALSE; good = gtk_tree_model_iter_next( model, &iter ) ) { @@ -1085,13 +1083,13 @@ void EntityInspector_selectionChanged( const Selectable& ){ // Creates a new entity based on the currently selected brush and entity type. // void EntityClassList_createEntity(){ - GtkTreeView* view = g_entityClassList; + auto view = ui::Widget::from(g_entityClassList); // find out what type of entity we are trying to create GtkTreeModel* model; GtkTreeIter iter; - if ( gtk_tree_selection_get_selected( gtk_tree_view_get_selection( view ), &model, &iter ) == FALSE ) { - ui::Widget(gtk_widget_get_toplevel( ui::TreeView(g_entityClassList) )).alert( "You must have a selected class to create an entity", "info" ); + if ( gtk_tree_selection_get_selected( gtk_tree_view_get_selection( g_entityClassList ), &model, &iter ) == FALSE ) { + view.window().alert( "You must have a selected class to create an entity", "info" ); return; } @@ -1119,14 +1117,14 @@ void EntityInspector_applyKeyValue(){ // TTimo: if you change the classname to worldspawn you won't merge back in the structural brushes but create a parasite entity if ( !strcmp( key.c_str(), "classname" ) && !strcmp( value.c_str(), "worldspawn" ) ) { - ui::Widget(gtk_widget_get_toplevel( g_entityKeyEntry ) ).alert( "Cannot change \"classname\" key back to worldspawn.", 0, ui::alert_type::OK ); + g_entityKeyEntry.window().alert( "Cannot change \"classname\" key back to worldspawn.", 0, ui::alert_type::OK ); return; } // RR2DO2: we don't want spaces in entity keys if ( strstr( key.c_str(), " " ) ) { - ui::Widget(gtk_widget_get_toplevel( g_entityKeyEntry ) ).alert( "No spaces are allowed in entity keys.", 0, ui::alert_type::OK ); + g_entityKeyEntry.window().alert( "No spaces are allowed in entity keys.", 0, ui::alert_type::OK ); return; } @@ -1262,7 +1260,7 @@ static gint EntityEntry_keypress( ui::Entry widget, GdkEventKey* event, gpointer if ( event->keyval == GDK_KEY_Return ) { if ( widget._handle == g_entityKeyEntry._handle ) { g_entityValueEntry.text( "" ); - gtk_window_set_focus( GTK_WINDOW( gtk_widget_get_toplevel( widget ) ), g_entityValueEntry ); + gtk_window_set_focus( widget.window(), g_entityValueEntry ); } else { @@ -1271,7 +1269,7 @@ static gint EntityEntry_keypress( ui::Entry widget, GdkEventKey* event, gpointer return TRUE; } if ( event->keyval == GDK_KEY_Escape ) { - gtk_window_set_focus( GTK_WINDOW( gtk_widget_get_toplevel( widget ) ), NULL ); + gtk_window_set_focus( widget.window(), NULL ); return TRUE; } @@ -1318,8 +1316,8 @@ ui::Widget EntityInspector_constructWindow( ui::Window toplevel ){ { ui::ListStore store = ui::ListStore(gtk_list_store_new( 2, G_TYPE_STRING, G_TYPE_POINTER )); - auto view = ui::TreeView( ui::TreeModel( GTK_TREE_MODEL( store ) )); - gtk_tree_view_set_enable_search( GTK_TREE_VIEW( view ), FALSE ); + auto view = ui::TreeView( ui::TreeModel(store )); + gtk_tree_view_set_enable_search(view, FALSE ); gtk_tree_view_set_headers_visible( view, FALSE ); view.connect( "button_press_event", G_CALLBACK( EntityClassList_button_press ), 0 ); view.connect( "key_press_event", G_CALLBACK( EntityClassList_keypress ), 0 ); @@ -1354,7 +1352,7 @@ ui::Widget EntityInspector_constructWindow( ui::Window toplevel ){ { auto text = ui::TextView(ui::New); - gtk_widget_set_size_request( text , 0, -1 ); // allow shrinking + text.dimensions(0, -1); // allow shrinking gtk_text_view_set_wrap_mode( text, GTK_WRAP_WORD ); gtk_text_view_set_editable( text, FALSE ); text.show(); @@ -1402,24 +1400,24 @@ ui::Widget EntityInspector_constructWindow( ui::Window toplevel ){ { ui::ListStore store = ui::ListStore(gtk_list_store_new( 2, G_TYPE_STRING, G_TYPE_STRING )); - ui::Widget view = ui::TreeView(ui::TreeModel( GTK_TREE_MODEL( store ) )); - gtk_tree_view_set_enable_search( GTK_TREE_VIEW( view ), FALSE ); - gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( view ), FALSE ); + auto view = ui::TreeView(ui::TreeModel(store )); + gtk_tree_view_set_enable_search(view, FALSE ); + gtk_tree_view_set_headers_visible(view, FALSE ); { auto renderer = ui::CellRendererText(ui::New); GtkTreeViewColumn* column = ui::TreeViewColumn( "", renderer, {{"text", 0}} ); - gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column ); + gtk_tree_view_append_column(view, column ); } { auto renderer = ui::CellRendererText(ui::New); GtkTreeViewColumn* column = ui::TreeViewColumn( "", renderer, {{"text", 1}} ); - gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column ); + gtk_tree_view_append_column(view, column ); } { - auto selection = ui::TreeSelection(gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) )); + auto selection = ui::TreeSelection(gtk_tree_view_get_selection(view )); selection.connect( "changed", G_CALLBACK( EntityProperties_selection_changed ), 0 ); } @@ -1444,9 +1442,7 @@ ui::Widget EntityInspector_constructWindow( ui::Window toplevel ){ { auto entry = ui::Entry(ui::New); entry.show(); - gtk_table_attach( table, entry , 1, 2, 0, 1, - (GtkAttachOptions)( GTK_EXPAND | GTK_FILL ), - (GtkAttachOptions)( 0 ), 0, 0 ); + table.attach(entry, {1, 2, 0, 1}, {GTK_EXPAND | GTK_FILL, 0}); gtk_widget_set_events( entry , GDK_KEY_PRESS_MASK ); entry.connect( "key_press_event", G_CALLBACK( EntityEntry_keypress ), 0 ); g_entityKeyEntry = entry; @@ -1455,9 +1451,7 @@ ui::Widget EntityInspector_constructWindow( ui::Window toplevel ){ { auto entry = ui::Entry(ui::New); entry.show(); - gtk_table_attach( table, entry , 1, 2, 1, 2, - (GtkAttachOptions)( GTK_EXPAND | GTK_FILL ), - (GtkAttachOptions)( 0 ), 0, 0 ); + table.attach(entry, {1, 2, 1, 2}, {GTK_EXPAND | GTK_FILL, 0}); gtk_widget_set_events( entry , GDK_KEY_PRESS_MASK ); entry.connect( "key_press_event", G_CALLBACK( EntityEntry_keypress ), 0 ); g_entityValueEntry = entry; @@ -1466,18 +1460,14 @@ ui::Widget EntityInspector_constructWindow( ui::Window toplevel ){ { auto label = ui::Label( "Value" ); label.show(); - gtk_table_attach( table, label , 0, 1, 1, 2, - (GtkAttachOptions)( GTK_FILL ), - (GtkAttachOptions)( 0 ), 0, 0 ); + table.attach(label, {0, 1, 1, 2}, {GTK_FILL, 0}); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 ); } { auto label = ui::Label( "Key" ); label.show(); - gtk_table_attach( table, label , 0, 1, 0, 1, - (GtkAttachOptions)( GTK_FILL ), - (GtkAttachOptions)( 0 ), 0, 0 ); + table.attach(label, {0, 1, 0, 1}, {GTK_FILL, 0}); gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 ); } }