void vector_table_options_dialog_reflect_state (vector_table_options_D *dialog) { char *pszTitle = NULL ; int *sim_type = NULL ; VectorTable *pvt = NULL ; BUS_LAYOUT *bus_layout = NULL ; if (NULL == dialog) return ; if (NULL == (pvt = g_object_get_data (G_OBJECT (dialog->dialog), "user_pvt"))) return ; if (NULL == (sim_type = g_object_get_data (G_OBJECT (dialog->dialog), "user_sim_type"))) return ; if (NULL == (bus_layout = g_object_get_data (G_OBJECT (dialog->dialog), "user_bus_layout"))) return ; if (VECTOR_TABLE == (*sim_type) && bus_layout->inputs->icUsed > 0) { gtk_widget_set_sensitive (dialog->btnSave, TRUE) ; gtk_widget_set_sensitive (dialog->btnOpen, TRUE) ; gtk_widget_show (dialog->tblVT) ; scrolled_window_set_size (GTK_SCROLLED_WINDOW (dialog->sw), dialog->tv, 0.8, 0.8) ; gtk_window_set_resizable (GTK_WINDOW (dialog->dialog), TRUE) ; gtk_window_set_title (GTK_WINDOW (dialog->dialog), pszTitle = g_strdup_printf ("%s - %s", (NULL == pvt->pszFName ? _("Untitled") : base_name (pvt->pszFName)), _("Vector Table Setup"))) ; } else // EXHAUSTIVE_VERIFICATION { gtk_window_set_title (GTK_WINDOW (dialog->dialog), pszTitle = g_strdup_printf ("%s - %s", _("Exhaustive Verification"), _("Vector Table Setup"))) ; gtk_widget_set_sensitive (dialog->btnOpen, FALSE) ; gtk_widget_set_sensitive (dialog->btnSave, FALSE) ; gtk_window_set_resizable (GTK_WINDOW (dialog->dialog), FALSE) ; gtk_widget_hide (dialog->tblVT) ; } g_free (pszTitle) ; gtk_widget_set_sensitive (dialog->tbtnVT, (bus_layout->inputs->icUsed > 0)) ; if (pvt->vectors->icUsed <= 0) { gtk_widget_set_sensitive (dialog->btnInsert, FALSE) ; gtk_widget_set_sensitive (dialog->btnDelete, FALSE) ; } else { gtk_widget_set_sensitive (dialog->btnInsert, TRUE) ; gtk_widget_set_sensitive (dialog->btnDelete, TRUE) ; } }
static void BusLayoutToDialog (bus_layout_D *dialog, BUS_LAYOUT *bus_layout) { GtkTreeStore *ts = NULL ; ts = design_bus_layout_tree_store_new (bus_layout, ROW_TYPE_ANY, 0) ; gtk_widget_set_sensitive (dialog->btnCreateBus, FALSE) ; gtk_widget_set_sensitive (dialog->btnDeleteBus, FALSE) ; gtk_widget_set_sensitive (dialog->btnMoveBusUp, FALSE) ; gtk_widget_set_sensitive (dialog->btnMoveBusDown, FALSE) ; gtk_widget_set_sensitive (dialog->btnMoveCellsUp, FALSE) ; gtk_widget_set_sensitive (dialog->btnMoveCellsDown, FALSE) ; gtk_widget_set_sensitive (dialog->lblBusName, FALSE) ; gtk_widget_set_sensitive (dialog->txtBusName, FALSE) ; gtk_entry_set_text (GTK_ENTRY (dialog->txtBusName), "") ; gtk_tree_view_set_model (GTK_TREE_VIEW (dialog->tview), GTK_TREE_MODEL (ts)) ; // Unref the tree store after giving it to the TreeView. This way, the next time we give // a tree store to the tree view, the current tree store will be destroyed g_object_unref (ts) ; scrolled_window_set_size (GTK_SCROLLED_WINDOW (dialog->sw), dialog->tview, 0.8, 0.4) ; }