- GtkWidget *dlg, *vbox, *vbox2, *hbox, *hbox2, *frame, *table, *label;
- GtkWidget *button, *entry, *spin, *combo;
- GtkObject *adj;
- char buf[32];
-
- dlg = m_pWidget;
-
- load_window_pos (dlg, g_PrefsDlg.mWindowInfo.posPatchWnd);
-
- gtk_window_set_title (GTK_WINDOW (dlg), _("Patch Properties"));
- gtk_signal_connect (GTK_OBJECT (dlg), "delete_event", GTK_SIGNAL_FUNC (OnDone), NULL);
- // catch 'Esc' and 'Enter'
- 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));
-
-
- vbox = gtk_vbox_new (FALSE, 5);
- gtk_widget_show (vbox);
- gtk_container_add (GTK_CONTAINER (dlg), vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
-
- hbox = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
-
- frame = gtk_frame_new (_("Details"));
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (hbox), frame, TRUE, TRUE, 0);
-
- vbox2 = gtk_vbox_new (FALSE, 5);
- gtk_widget_show (vbox2);
- gtk_container_add (GTK_CONTAINER (frame), vbox2);
- gtk_container_set_border_width (GTK_CONTAINER (vbox2), 5);
-
- table = gtk_table_new (2, 2, FALSE);
- gtk_widget_show (table);
- gtk_box_pack_start (GTK_BOX (vbox2), table, TRUE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new (_("Row:"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- label = gtk_label_new (_("Column:"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 1, 2, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- combo = gtk_combo_new ();
- gtk_widget_show (combo);
- gtk_table_attach (GTK_TABLE (table), combo, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (combo, 60, -1);
- gtk_entry_set_editable (GTK_ENTRY (GTK_COMBO (combo)->entry), FALSE);
- gtk_signal_connect (GTK_OBJECT (GTK_COMBO (combo)->entry), "changed",
- GTK_SIGNAL_FUNC (OnSelchangeComboColRow), this);
- AddDialogData (combo, &m_nRow, DLG_COMBO_INT);
- m_pRowCombo = combo;
-
- combo = gtk_combo_new ();
- gtk_widget_show (combo);
- gtk_table_attach (GTK_TABLE (table), combo, 1, 2, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (combo, 60, -1);
- gtk_entry_set_editable (GTK_ENTRY (GTK_COMBO (combo)->entry), FALSE);
- gtk_signal_connect (GTK_OBJECT (GTK_COMBO (combo)->entry), "changed",
- GTK_SIGNAL_FUNC (OnSelchangeComboColRow), this);
- AddDialogData (combo, &m_nCol, DLG_COMBO_INT);
- m_pColCombo = combo;
-
- table = gtk_table_new (5, 2, FALSE);
- gtk_widget_show (table);
- gtk_box_pack_start (GTK_BOX (vbox2), table, TRUE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new (_("X:"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- label = gtk_label_new (_("Y:"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- label = gtk_label_new (_("Z:"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- label = gtk_label_new (_("S:"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 3, 4,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- label = gtk_label_new (_("T:"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 4, 5,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
-
- 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);
- AddDialogData (entry, &m_fX, DLG_ENTRY_FLOAT);
-
- 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);
- AddDialogData (entry, &m_fY, DLG_ENTRY_FLOAT);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 2, 3,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- AddDialogData (entry, &m_fZ, DLG_ENTRY_FLOAT);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 3, 4,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- AddDialogData (entry, &m_fS, DLG_ENTRY_FLOAT);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 4, 5,
- (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- AddDialogData (entry, &m_fT, DLG_ENTRY_FLOAT);
-
- frame = gtk_frame_new (_("Texturing"));
- gtk_widget_show (frame);
- gtk_box_pack_start (GTK_BOX (hbox), frame, TRUE, TRUE, 0);
-
- vbox2 = gtk_vbox_new (FALSE, 5);
- gtk_widget_show (vbox2);
- gtk_container_add (GTK_CONTAINER (frame), vbox2);
- gtk_container_set_border_width (GTK_CONTAINER (vbox2), 5);
-
- label = gtk_label_new (_("Name:"));
- gtk_widget_show (label);
- gtk_box_pack_start (GTK_BOX (vbox2), label, TRUE, TRUE, 0);
- gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-
- entry = gtk_entry_new ();
-// gtk_entry_set_editable (GTK_ENTRY (entry), false);
- gtk_widget_show (entry);
- gtk_box_pack_start (GTK_BOX (vbox2), entry, TRUE, TRUE, 0);
- AddDialogData (entry, &m_strName, DLG_ENTRY_TEXT);
-
- table = gtk_table_new (5, 3, FALSE);
- gtk_widget_show (table);
- gtk_box_pack_start (GTK_BOX (vbox2), table, TRUE, TRUE, 0);
- gtk_table_set_row_spacings (GTK_TABLE (table), 5);
- gtk_table_set_col_spacings (GTK_TABLE (table), 5);
-
- label = gtk_label_new (_("Horizontal Shift Step"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-
- label = gtk_label_new (_("Vertical Shift Step"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 2, 3, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-
- label = gtk_label_new (_("Horizontal Stretch Step"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 2, 3, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-
- label = gtk_label_new (_("Vertical Stretch Step"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 2, 3, 3, 4,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-
- label = gtk_label_new (_("Rotate Step"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 2, 3, 4, 5,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- g_object_set_data (G_OBJECT (m_pWidget), "hshift_entry", entry);
- // we fill in this data, if no patch is selected the widgets are unmodified when the inspector is raised
- // so we need to have at least one initialisation somewhere
- sprintf (buf, "%g", l_pPIIncrement->shift[0]);
- gtk_entry_set_text (GTK_ENTRY (entry), buf);
-
- adj = gtk_adjustment_new (0, -8192, 8192, 1, 1, 1);
- gtk_signal_connect (adj, "value_changed", GTK_SIGNAL_FUNC (OnSpinChanged), entry);
- g_object_set_data (G_OBJECT (m_pWidget), "hshift_adj", adj);
-
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 0, 1,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (spin, 10, -2);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 0, 1, 1, 2,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- sprintf (buf, "%g", l_pPIIncrement->shift[1]);
- gtk_entry_set_text (GTK_ENTRY (entry), buf);
-
- adj = gtk_adjustment_new (0, -8192, 8192, 1, 1, 1);
- gtk_signal_connect (adj, "value_changed", GTK_SIGNAL_FUNC (OnSpinChanged), entry);
- g_object_set_data (G_OBJECT (m_pWidget), "vshift_adj", adj);
-
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 1, 2,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (spin, 10, -2);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 0, 1, 2, 3,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- sprintf (buf, "%g", l_pPIIncrement->scale[0]);
- gtk_entry_set_text (GTK_ENTRY (entry), buf);
-
- adj = gtk_adjustment_new (0, -1000, 1000, 1, 1, 1);
- gtk_signal_connect (adj, "value_changed", GTK_SIGNAL_FUNC (OnSpinChanged), entry);
- g_object_set_data (G_OBJECT (m_pWidget), "hscale_adj", adj);
-
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 2, 3,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (spin, 10, -2);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 0, 1, 3, 4,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- sprintf (buf, "%g", l_pPIIncrement->scale[1]);
- gtk_entry_set_text (GTK_ENTRY (entry), buf);
-
- adj = gtk_adjustment_new (0, -1000, 1000, 1, 1, 1);
- gtk_signal_connect (adj, "value_changed", GTK_SIGNAL_FUNC (OnSpinChanged), entry);
- g_object_set_data (G_OBJECT (m_pWidget), "vscale_adj", adj);
-
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 3, 4,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (spin, 10, -2);
-
- entry = gtk_entry_new ();
- gtk_widget_show (entry);
- gtk_table_attach (GTK_TABLE (table), entry, 0, 1, 4, 5,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (entry, 50, -2);
- sprintf (buf, "%g", l_pPIIncrement->rotate);
- gtk_entry_set_text (GTK_ENTRY (entry), buf);
-
- adj = gtk_adjustment_new (0, -1000, 1000, 1, 1, 1); // NOTE: Arnout - this really should be 360 but can't change it anymore as it could break existing maps
- gtk_signal_connect (adj, "value_changed", GTK_SIGNAL_FUNC (OnSpinChanged), entry);
- g_object_set_data (G_OBJECT (m_pWidget), "rotate_adj", adj);
-
- spin = gtk_spin_button_new (GTK_ADJUSTMENT (adj), 1, 0);
- gtk_widget_show (spin);
- gtk_table_attach (GTK_TABLE (table), spin, 1, 2, 4, 5,
- (GtkAttachOptions) (0),
- (GtkAttachOptions) (0), 0, 0);
- gtk_widget_set_usize (spin, 10, -2);
-
- hbox2 = gtk_hbox_new (TRUE, 5);
- gtk_widget_show (hbox2);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, TRUE, FALSE, 0);
-
- button = gtk_button_new_with_label (_("CAP"));
- gtk_widget_show (button);
- gtk_box_pack_end (GTK_BOX (hbox2), button, TRUE, FALSE, 0);
- gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (OnBtnPatchdetails), NULL);
- gtk_widget_set_usize (button, 60, -1);
-
- button = gtk_button_new_with_label (_("Set..."));
- gtk_widget_show (button);
- gtk_box_pack_end (GTK_BOX (hbox2), button, TRUE, FALSE, 0);
- gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (OnBtnPatchreset), NULL);
- gtk_widget_set_usize (button, 60, -1);
-
- button = gtk_button_new_with_label (_("Natural"));
- gtk_widget_show (button);
- gtk_box_pack_end (GTK_BOX (hbox2), button, TRUE, FALSE, 0);
- gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (OnBtnPatchnatural), NULL);
- gtk_widget_set_usize (button, 60, -1);
-
- button = gtk_button_new_with_label (_("Fit"));
- gtk_widget_show (button);
- gtk_box_pack_end (GTK_BOX (hbox2), button, TRUE, FALSE, 0);
- gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (OnBtnPatchfit), NULL);
- gtk_widget_set_usize (button, 60, -1);
-
- hbox = gtk_hbox_new (FALSE, 5);
- gtk_widget_show (hbox);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, FALSE, 0);
-
- button = gtk_button_new_with_label (_("Done"));
- gtk_widget_show (button);
- gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
- gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (OnDone), NULL);
- gtk_widget_set_usize (button, 60, -1);
-
- button = gtk_button_new_with_label (_("Apply"));
- gtk_widget_show (button);
- gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
- gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (OnApply), NULL);
- gtk_widget_set_usize (button, 60, -1);