- GtkWidget* dlg = gtk_window_new( GTK_WINDOW_TOPLEVEL );
-
-#ifdef _WIN32
- if ( g_PrefsDlg.m_bStartOnPrimMon ) {
- PositionWindowOnPrimaryScreen( g_PrefsDlg.mWindowInfo.posEntityWnd );
- }
-#endif
- load_window_pos( dlg, g_PrefsDlg.mWindowInfo.posEntityWnd );
-
- gtk_window_set_title( GTK_WINDOW( dlg ), "Entities" );
- gtk_signal_connect( GTK_OBJECT( dlg ), "delete_event", GTK_SIGNAL_FUNC( widget_delete_hide ), NULL );
- // catch 'Esc'
- gtk_signal_connect( GTK_OBJECT( dlg ), "key_press_event", GTK_SIGNAL_FUNC( OnDialogKey ), NULL );
- gtk_window_set_transient_for( GTK_WINDOW( dlg ), GTK_WINDOW( g_pParentWnd->m_pWidget ) );
- g_qeglobals_gui.d_entity = dlg;
-
- {
- GtkWidget* notebook = gtk_notebook_new();
- gtk_widget_show( notebook );
- gtk_container_add( GTK_CONTAINER( dlg ), notebook );
- gtk_notebook_set_tab_pos( GTK_NOTEBOOK( notebook ), GTK_POS_BOTTOM );
- m_pNotebook = notebook;
-
- {
- GtkWidget* vbox = gtk_vbox_new( FALSE, 2 );
- gtk_widget_show( vbox );
- gtk_container_set_border_width( GTK_CONTAINER( vbox ), 2 );
-
- {
- GtkWidget* label = gtk_label_new( "Entities" );
- gtk_widget_show( label );
- gtk_notebook_append_page( GTK_NOTEBOOK( notebook ), vbox, label );
- }
-
- {
- GtkWidget* split1 = gtk_vpaned_new();
- gtk_box_pack_start( GTK_BOX( vbox ), split1, TRUE, TRUE, 0 );
- gtk_widget_show( split1 );
-
- {
- GtkWidget* split2 = gtk_vpaned_new();
- gtk_paned_add1( GTK_PANED( split1 ), split2 );
- gtk_widget_show( split2 );
-
- g_object_set_data( G_OBJECT( dlg ), "split1", split1 );
- g_object_set_data( G_OBJECT( dlg ), "split2", split2 );
-
- {
- GtkWidget* vbox2 = gtk_vbox_new( FALSE, 2 );
- gtk_widget_show( vbox2 );
- gtk_paned_pack2( GTK_PANED( split1 ), vbox2, FALSE, FALSE );
-
- {
- GtkWidget* scr = gtk_scrolled_window_new( NULL, NULL );
- gtk_widget_show( scr );
- gtk_paned_add1( GTK_PANED( split2 ), scr );
- gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scr ), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS );
- gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( scr ), GTK_SHADOW_IN );
-
- {
- GtkListStore* store = gtk_list_store_new( 2, G_TYPE_STRING, G_TYPE_POINTER );
-
- GtkWidget* view = gtk_tree_view_new_with_model( GTK_TREE_MODEL( store ) );
- gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( view ), FALSE );
- g_signal_connect( G_OBJECT( view ), "button_press_event", G_CALLBACK( eclasslist_button_press ), NULL );
- g_signal_connect( G_OBJECT( view ), "key_press_event", G_CALLBACK( eclasslist_keypress ), this );
-
- {
- GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
- GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes( "Key", renderer, "text", 0, NULL );
- gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column );
- }
-
- {
- GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) );
- g_signal_connect( G_OBJECT( selection ), "changed", G_CALLBACK( eclasslist_selection_changed ), dlg );
- }
-
- gtk_widget_show( view );
-
- gtk_container_add( GTK_CONTAINER( scr ), view );
-
- g_object_unref( G_OBJECT( store ) );
- EntWidgets[EntList] = view;
- g_entlist_store = store;
- }
- }
-
- {
- GtkWidget* scr = gtk_scrolled_window_new( NULL, NULL );
- gtk_widget_show( scr );
- gtk_paned_add2( GTK_PANED( split2 ), scr );
- gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scr ), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS );
- gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( scr ), GTK_SHADOW_IN );
-
- {
- GtkWidget* text = gtk_text_view_new();
- gtk_widget_set_size_request( text, 0, -1 ); // allow shrinking
- gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( text ), GTK_WRAP_WORD );
- gtk_text_view_set_editable( GTK_TEXT_VIEW( text ), FALSE );
- gtk_widget_show( text );
- gtk_container_add( GTK_CONTAINER( scr ), text );
- EntWidgets[EntComment] = text;
- }
- }
-
- {
- // Spawnflags (4 colums wide max, or window gets too wide.)
- LayoutTable = gtk_table_new( 4, 4, FALSE );
- gtk_box_pack_start( GTK_BOX( vbox2 ), LayoutTable, FALSE, TRUE, 0 );
- gtk_widget_show( LayoutTable );
-
- for ( int i = 0; i < MAX_FLAGS; i++ )
- {
- GtkWidget* check = gtk_check_button_new_with_label( "" );
- gtk_widget_ref( check );
- gtk_signal_connect( GTK_OBJECT( check ), "toggled", GTK_SIGNAL_FUNC( entity_check ), NULL );
- EntWidgets[EntCheck1 + i] = check;
- }
-
- if ( g_pGameDescription->quake2 ) {
- GtkWidget *check = gtk_check_button_new_with_label( _( "!Easy" ) );
- gtk_widget_show( check );
- gtk_signal_connect( GTK_OBJECT( check ), "toggled", GTK_SIGNAL_FUNC( entity_check ), NULL );
-/* gtk_table_attach (GTK_TABLE (table), check, 2, 3, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);*/
- EntWidgets[EntCheck17] = check;
-
- check = gtk_check_button_new_with_label( _( "!Medium" ) );
- gtk_widget_show( check );
- gtk_signal_connect( GTK_OBJECT( check ), "toggled", GTK_SIGNAL_FUNC( entity_check ), NULL );
-/* gtk_table_attach (GTK_TABLE (table), check, 2, 3, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);*/
- EntWidgets[EntCheck18] = check;
-
- check = gtk_check_button_new_with_label( _( "!Hard" ) );
- gtk_widget_show( check );
- gtk_signal_connect( GTK_OBJECT( check ), "toggled", GTK_SIGNAL_FUNC( entity_check ), NULL );
-/* gtk_table_attach (GTK_TABLE (table), check, 2, 3, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);*/
- EntWidgets[EntCheck19] = check;
-
- check = gtk_check_button_new_with_label( _( "!DeathMatch" ) );
- gtk_widget_show( check );
- gtk_signal_connect( GTK_OBJECT( check ), "toggled", GTK_SIGNAL_FUNC( entity_check ), NULL );
-/* gtk_table_attach (GTK_TABLE (table), check, 2, 3, 3, 4,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);*/
- EntWidgets[EntCheck20] = check;
- }
- }
-
- {
- GtkWidget* scr = gtk_scrolled_window_new( NULL, NULL );
- gtk_widget_show( scr );
- gtk_box_pack_start( GTK_BOX( vbox2 ), scr, TRUE, TRUE, 0 );
- gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scr ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );
- gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( scr ), GTK_SHADOW_IN );
-
- {
- GtkListStore* store = gtk_list_store_new( 2, G_TYPE_STRING, G_TYPE_STRING );
-
- GtkWidget* view = gtk_tree_view_new_with_model( GTK_TREE_MODEL( store ) );
- gtk_tree_view_set_headers_visible( GTK_TREE_VIEW( view ), FALSE );
-
- {
- GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
- GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes( "", renderer, "text", 0, NULL );
- gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column );
- }
-
- {
- GtkCellRenderer* renderer = gtk_cell_renderer_text_new();
- GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes( "", renderer, "text", 1, NULL );
- gtk_tree_view_append_column( GTK_TREE_VIEW( view ), column );
- }
-
- {
- GtkTreeSelection* selection = gtk_tree_view_get_selection( GTK_TREE_VIEW( view ) );
- g_signal_connect( G_OBJECT( selection ), "changed", G_CALLBACK( proplist_selection_changed ), dlg );
- }
-
- gtk_widget_show( view );
-
- gtk_container_add( GTK_CONTAINER( scr ), view );
-
- g_object_unref( G_OBJECT( store ) );
-
- EntWidgets[EntProps] = view;
- g_entprops_store = store;
- }
- }
- }
-
- int x = g_PrefsDlg.mWindowInfo.nEntitySplit1;
- if ( x != -1 ) {
- gtk_paned_set_position( GTK_PANED( split1 ), x );
-
- while ( gtk_events_pending() ) gtk_main_iteration();
- x = g_PrefsDlg.mWindowInfo.nEntitySplit2;
-
- if ( x != -1 ) {
- gtk_paned_set_position( GTK_PANED( split2 ), x );
- }
- }
- }
- }
-
- {
- GtkWidget* table = gtk_table_new( 2, 2, FALSE );
- gtk_widget_show( table );
- gtk_box_pack_start( GTK_BOX( vbox ), table, FALSE, TRUE, 0 );
- gtk_table_set_row_spacings( GTK_TABLE( table ), 3 );
- gtk_table_set_col_spacings( GTK_TABLE( table ), 5 );
-
- {
- GtkWidget* entry = gtk_entry_new();
- gtk_widget_show( entry );
- gtk_table_attach( GTK_TABLE( table ), entry, 1, 2, 0, 1,
- (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ),
- (GtkAttachOptions) ( 0 ), 0, 0 );
- gtk_widget_set_events( entry, GDK_KEY_PRESS_MASK );
- gtk_signal_connect( GTK_OBJECT( entry ), "key_press_event",
- GTK_SIGNAL_FUNC( entityentry_keypress ), this );
- EntWidgets[EntKeyField] = entry;
- }
-
- {
- GtkWidget* entry = gtk_entry_new();
- gtk_widget_show( entry );
- gtk_table_attach( GTK_TABLE( table ), entry, 1, 2, 1, 2,
- (GtkAttachOptions) ( GTK_EXPAND | GTK_FILL ),
- (GtkAttachOptions) ( 0 ), 0, 0 );
- gtk_widget_set_events( entry, GDK_KEY_PRESS_MASK );
- gtk_signal_connect( GTK_OBJECT( entry ), "key_press_event",
- GTK_SIGNAL_FUNC( entityentry_keypress ), this );
- EntWidgets[EntValueField] = entry;
- }
-
- {
- GtkWidget* label = gtk_label_new( _( "Value" ) );
- gtk_widget_show( label );
- gtk_table_attach( GTK_TABLE( table ), label, 0, 1, 1, 2,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( 0 ), 0, 0 );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- }
-
- {
- GtkWidget* label = gtk_label_new( _( "Key" ) );
- gtk_widget_show( label );
- gtk_table_attach( GTK_TABLE( table ), label, 0, 1, 0, 1,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( 0 ), 0, 0 );
- gtk_misc_set_alignment( GTK_MISC( label ), 0, 0.5 );
- }
- }
-
- {
- GtkWidget* hbox = gtk_hbox_new( FALSE, 5 );
- gtk_widget_show( hbox );
- gtk_box_pack_start( GTK_BOX( vbox ), hbox, FALSE, TRUE, 0 );
-
- {
- GtkWidget* table = gtk_table_new( 3, 3, TRUE );
- gtk_widget_show( table );
- gtk_box_pack_start( GTK_BOX( hbox ), table, FALSE, TRUE, 0 );
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "360" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"360" );
- gtk_table_attach( GTK_TABLE( table ), button, 2, 3, 1, 2,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( GTK_FILL ), 0, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "45" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"45" );
- gtk_table_attach( GTK_TABLE( table ), button, 2, 3, 0, 1,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( GTK_FILL ), 0, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "90" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"90" );
- gtk_table_attach( GTK_TABLE( table ), button, 1, 2, 0, 1,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( GTK_FILL ), 0, 0 );
- }
-
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "135" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"135" );
- gtk_table_attach( GTK_TABLE( table ), button, 0, 1, 0, 1,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( GTK_FILL ), 0, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "180" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"180" );
- gtk_table_attach( GTK_TABLE( table ), button, 0, 1, 1, 2,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( GTK_FILL ), 0, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "225" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"225" );
- gtk_table_attach( GTK_TABLE( table ), button, 0, 1, 2, 3,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( GTK_FILL ), 0, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "270" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"270" );
- gtk_table_attach( GTK_TABLE( table ), button, 1, 2, 2, 3,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( GTK_FILL ), 0, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "315" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"315" );
- gtk_table_attach( GTK_TABLE( table ), button, 2, 3, 2, 3,
- (GtkAttachOptions) ( GTK_FILL ),
- (GtkAttachOptions) ( GTK_FILL ), 0, 0 );
- }
- }
-
- {
- GtkWidget* vbox2 = gtk_vbox_new( FALSE, 0 );
- gtk_widget_show( vbox2 );
- gtk_box_pack_start( GTK_BOX( hbox ), vbox2, TRUE, TRUE, 0 );
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "Reset" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( ResetEntity ), NULL );
- gtk_box_pack_start( GTK_BOX( vbox2 ), button, FALSE, FALSE, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "Up" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"-1" );
- gtk_box_pack_start( GTK_BOX( vbox2 ), button, FALSE, FALSE, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "Dn" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( entitylist_angle ), (void *)"-2" );
- gtk_box_pack_start( GTK_BOX( vbox2 ), button, FALSE, FALSE, 0 );
- }
- }
-
- {
- GtkWidget* vbox2 = gtk_vbox_new( FALSE, 0 );
- gtk_widget_show( vbox2 );
- gtk_box_pack_start( GTK_BOX( hbox ), vbox2, TRUE, TRUE, 0 );
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "Del Key/Pair" ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( DelProp ), NULL );
- gtk_box_pack_start( GTK_BOX( vbox2 ), button, FALSE, FALSE, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "Sound..." ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( AssignSound ), NULL );
- gtk_box_pack_start( GTK_BOX( vbox2 ), button, FALSE, FALSE, 0 );
- }
-
- {
- GtkWidget* button = gtk_button_new_with_label( _( "Model..." ) );
- gtk_widget_show( button );
- gtk_signal_connect( GTK_OBJECT( button ), "clicked", GTK_SIGNAL_FUNC( AssignModel ), NULL );
- gtk_box_pack_start( GTK_BOX( vbox2 ), button, FALSE, FALSE, 0 );
- }
- }
- }
- }
-
- if ( g_pParentWnd->FloatingGroupDialog() ) {
- {
- GtkWidget* scr = gtk_scrolled_window_new( NULL, NULL );
- gtk_scrolled_window_set_policy( GTK_SCROLLED_WINDOW( scr ), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC );
- gtk_scrolled_window_set_shadow_type( GTK_SCROLLED_WINDOW( scr ), GTK_SHADOW_IN );
- gtk_widget_show( scr );
- gtk_container_set_border_width( GTK_CONTAINER( scr ), 3 );
-
- {
- GtkWidget* text = gtk_text_view_new();
- gtk_widget_set_size_request( text, 0, -1 ); // allow shrinking
- gtk_text_view_set_wrap_mode( GTK_TEXT_VIEW( text ), GTK_WRAP_WORD );
- gtk_text_view_set_editable( GTK_TEXT_VIEW( text ), FALSE );
- gtk_container_add( GTK_CONTAINER( scr ), text );
- gtk_widget_show( text );
- g_qeglobals_gui.d_edit = text;
- }
-
- {
- GtkWidget* label = gtk_label_new( _( "Console" ) );
- gtk_widget_show( label );
- gtk_notebook_append_page( GTK_NOTEBOOK( notebook ), scr, label );
- }
- }
- }
-
-
- //++timo NOTE: this part for grouping code, don't remove! (we'll put it back in sometime soon)
-
- /*
- vbox = gtk_vbox_new (FALSE, 5);
- gtk_widget_show (vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 3);
-
- scr = gtk_scrolled_window_new (NULL, NULL);
- gtk_widget_show (scr);
- gtk_box_pack_start (GTK_BOX (vbox), scr, TRUE, TRUE, 0);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scr), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-
- ctree = gtk_ctree_new (1, 0);
- gtk_widget_show (ctree);
- gtk_container_add (GTK_CONTAINER (scr), ctree);
- gtk_clist_column_titles_hide (GTK_CLIST (ctree));
- m_pTree = ctree;
-
- hbox = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
-
- button = gtk_button_new_with_label (_("Add..."));
- gtk_widget_show (button);
- gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (groupdlg_add), NULL);
- gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
- gtk_widget_set_usize (button, 60, -2);
-
- button = gtk_button_new_with_label (_("Edit..."));
- gtk_widget_show (button);
- gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
- gtk_widget_set_usize (button, 60, -2);