<?xml version="1.0"?>
<interface>
<requires lib="gtk+" version="2.16"/>
- <!-- interface-naming-policy toplevel-contextual -->
+ <!-- interface-naming-policy project-wide -->
<object class="GtkListStore" id="times">
<columns>
<!-- column-name time -->
</object>
<object class="GtkWindow" id="main_window">
<child>
- <object class="GtkVBox" id="body">
+ <object class="GtkVBox" id="main_body">
<property name="visible">True</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkMenuBar" id="menu">
+ <object class="GtkMenuBar" id="main_menu">
<property name="visible">True</property>
<child>
- <object class="GtkMenuItem" id="file_item">
+ <object class="GtkMenuItem" id="main_menu_file">
<property name="visible">True</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
- <object class="GtkMenu" id="file_menu">
+ <object class="GtkMenu" id="main_menu_file_menu">
<property name="visible">True</property>
<child>
- <object class="GtkCheckMenuItem" id="offline_item">
+ <object class="GtkCheckMenuItem" id="main_menu_file_offline">
<property name="visible">True</property>
<property name="tooltip_text" translatable="yes">Work offline</property>
<property name="related_action">offline</property>
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="prefs_item">
+ <object class="GtkImageMenuItem" id="main_menu_file_prefs">
<property name="visible">True</property>
<property name="related_action">prefs</property>
<property name="use_action_appearance">True</property>
</object>
</child>
<child>
- <object class="GtkSeparatorMenuItem" id="sep2">
+ <object class="GtkSeparatorMenuItem" id="main_menu_file_0">
<property name="visible">True</property>
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="quit_item">
+ <object class="GtkImageMenuItem" id="main_menu_file_quit">
<property name="visible">True</property>
<property name="related_action">quit</property>
<property name="use_action_appearance">True</property>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="view_item">
+ <object class="GtkMenuItem" id="main_menu_view">
<property name="visible">True</property>
<property name="label" translatable="yes">_View</property>
<property name="use_underline">True</property>
<child type="submenu">
- <object class="GtkMenu" id="view_menu">
+ <object class="GtkMenu" id="main_menu_view_menu">
<property name="visible">True</property>
<child>
- <object class="GtkImageMenuItem" id="zoomin_item">
+ <object class="GtkImageMenuItem" id="main_menu_view_zoomin">
<property name="visible">True</property>
<property name="related_action">zoomin</property>
<property name="use_action_appearance">True</property>
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="zoomout_item">
+ <object class="GtkImageMenuItem" id="main_menu_view_zoomout">
<property name="visible">True</property>
<property name="related_action">zoomout</property>
<property name="use_action_appearance">True</property>
</object>
</child>
<child>
- <object class="GtkSeparatorMenuItem" id="sep1">
+ <object class="GtkSeparatorMenuItem" id="main_menu_view_0">
<property name="visible">True</property>
</object>
</child>
<child>
- <object class="GtkImageMenuItem" id="refresh_item">
+ <object class="GtkImageMenuItem" id="main_menu_view_refresh">
<property name="visible">True</property>
<property name="related_action">refresh</property>
<property name="use_action_appearance">True</property>
</object>
</child>
<child>
- <object class="GtkMenuItem" id="help_item">
+ <object class="GtkMenuItem" id="main_menu_help">
<property name="visible">True</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
- <object class="GtkMenu" id="help_menu">
+ <object class="GtkMenu" id="main_menu_help_menu">
<property name="visible">True</property>
<child>
- <object class="GtkImageMenuItem" id="about_item">
+ <object class="GtkImageMenuItem" id="main_menu_help_about">
<property name="visible">True</property>
<property name="related_action">about</property>
<property name="use_action_appearance">True</property>
</packing>
</child>
<child>
- <object class="GtkToolbar" id="toolbar">
+ <object class="GtkToolbar" id="main_toolbar">
<property name="visible">True</property>
<property name="toolbar_style">icons</property>
<child>
- <object class="GtkToolButton" id="zoomin_button">
+ <object class="GtkToolButton" id="main_tb_zoomin">
<property name="visible">True</property>
<property name="related_action">zoomin</property>
<property name="use_action_appearance">True</property>
</packing>
</child>
<child>
- <object class="GtkToolButton" id="zoomout_button">
+ <object class="GtkToolButton" id="main_tb_zoomout">
<property name="visible">True</property>
<property name="related_action">zoomout</property>
<property name="use_action_appearance">True</property>
</packing>
</child>
<child>
- <object class="GtkSeparatorToolItem" id="sep">
+ <object class="GtkSeparatorToolItem" id="main_tb_0">
<property name="visible">True</property>
</object>
<packing>
</packing>
</child>
<child>
- <object class="GtkToggleToolButton" id="offline_button">
+ <object class="GtkToggleToolButton" id="main_tb_offline">
<property name="visible">True</property>
<property name="related_action">offline</property>
<property name="use_action_appearance">True</property>
</packing>
</child>
<child>
- <object class="GtkToolButton" id="refresh_button">
+ <object class="GtkToolButton" id="main_tb_refresh">
<property name="visible">True</property>
<property name="related_action">refresh</property>
<property name="use_action_appearance">True</property>
</packing>
</child>
<child>
- <object class="GtkSeparatorToolItem" id="sep3">
+ <object class="GtkSeparatorToolItem" id="main_tb_1">
<property name="visible">True</property>
</object>
<packing>
</packing>
</child>
<child>
- <object class="GtkToolButton" id="prefs_button">
+ <object class="GtkToolButton" id="main_tb_prefs">
<property name="visible">True</property>
<property name="related_action">prefs</property>
<property name="use_action_appearance">True</property>
</packing>
</child>
<child>
- <object class="GtkVPaned" id="vpaned1">
+ <object class="GtkVPaned" id="main_0">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
- <object class="GtkHPaned" id="hpaned1">
+ <object class="GtkHPaned" id="main_paned">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
- <object class="GtkDrawingArea" id="drawing">
+ <object class="GtkDrawingArea" id="main_drawing">
<property name="width_request">600</property>
<property name="height_request">550</property>
<property name="visible">True</property>
</packing>
</child>
<child>
- <object class="GtkVBox" id="vbox2">
+ <object class="GtkVBox" id="main_1">
<property name="visible">True</property>
+ <property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
- <object class="GtkExpander" id="expander1">
+ <object class="GtkExpander" id="main_site_0">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="expanded">True</property>
<property name="use_markup">True</property>
<child>
- <object class="GtkComboBox" id="site">
+ <object class="GtkComboBox" id="main_site">
<property name="visible">True</property>
<property name="model">sites</property>
<property name="add_tearoffs">True</property>
<signal name="changed" handler="on_site_changed"/>
<child>
- <object class="GtkCellRendererText" id="site_rend"/>
+ <object class="GtkCellRendererText" id="main_site_rend"/>
<attributes>
<attribute name="text">0</attribute>
</attributes>
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="main_site_label">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Site</b></property>
<property name="use_markup">True</property>
</packing>
</child>
<child>
- <object class="GtkExpander" id="expander2">
+ <object class="GtkExpander" id="main_time_0">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="expanded">True</property>
<child>
- <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <object class="GtkScrolledWindow" id="main_time_1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hscrollbar_policy">never</property>
<property name="vscrollbar_policy">automatic</property>
<property name="shadow_type">in</property>
<child>
- <object class="GtkTreeView" id="time">
+ <object class="GtkTreeView" id="main_time">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="model">times</property>
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label2">
+ <object class="GtkLabel" id="main_time_label">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Time</b></property>
<property name="use_markup">True</property>
</packing>
</child>
<child>
- <object class="GtkNotebook" id="tabs">
+ <object class="GtkNotebook" id="main_tabs">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tab_pos">bottom</property>
<signal name="response" handler="gtk_widget_hide" object="prefs_window"/>
<signal name="delete_event" handler="gtk_widget_hide_on_delete"/>
<child internal-child="vbox">
- <object class="GtkVBox" id="dialog-vbox1">
+ <object class="GtkVBox" id="prefs_0">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
- <object class="GtkNotebook" id="notebook">
+ <object class="GtkNotebook" id="prefs_notebook">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
- <object class="GtkVBox" id="vbox1">
+ <object class="GtkVBox" id="prefs_general_0">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<child>
- <object class="GtkFrame" id="frame1">
+ <object class="GtkFrame" id="prefs_general_1">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
- <object class="GtkAlignment" id="alignment1">
+ <object class="GtkAlignment" id="prefs_general_2">
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkVBox" id="vbox2">
+ <object class="GtkVBox" id="prefs_general_3">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
- <object class="GtkCheckButton" id="checkbutton1">
+ <object class="GtkCheckButton" id="prefs_general_offline">
<property name="label" translatable="yes">Work offline</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox1">
+ <object class="GtkHBox" id="prefs_general_site_0">
<property name="visible">True</property>
<property name="spacing">5</property>
<child>
- <object class="GtkLabel" id="site_label">
+ <object class="GtkLabel" id="prefs_general_site_label">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Initial site</property>
</packing>
</child>
<child>
- <object class="GtkEntry" id="initial_site">
+ <object class="GtkEntry" id="prefs_general_site">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox3">
+ <object class="GtkHBox" id="prefs_general_url_0">
<property name="visible">True</property>
<property name="spacing">5</property>
<child>
- <object class="GtkLabel" id="nexrad_label">
+ <object class="GtkLabel" id="prefs_general_url_label">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">NEXRAD URL</property>
</packing>
</child>
<child>
- <object class="GtkEntry" id="nexrad_url">
+ <object class="GtkEntry" id="prefs_general_url">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
</packing>
</child>
<child>
- <object class="GtkHBox" id="hbox2">
+ <object class="GtkHBox" id="prefs_general_log_0">
<property name="visible">True</property>
<property name="spacing">5</property>
<child>
- <object class="GtkLabel" id="log_label">
+ <object class="GtkLabel" id="prefs_general_log_label">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Debug level</property>
</packing>
</child>
<child>
- <object class="GtkSpinButton" id="log_level">
+ <object class="GtkSpinButton" id="prefs_general_log">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
- <property name="adjustment">adjustment</property>
+ <property name="adjustment">prefs_general_log_adj</property>
<property name="numeric">True</property>
<signal name="value_changed" handler="on_log_level_changed"/>
</object>
</object>
</child>
<child type="label">
- <object class="GtkLabel" id="label1">
+ <object class="GtkLabel" id="prefs_general_prefs_label">
<property name="visible">True</property>
<property name="label" translatable="yes"><b>Preferences</b></property>
<property name="use_markup">True</property>
</object>
</child>
<child type="tab">
- <object class="GtkLabel" id="general_label">
+ <object class="GtkLabel" id="prefs_general_label">
<property name="visible">True</property>
<property name="label" translatable="yes">General</property>
</object>
</packing>
</child>
<child>
- <object class="GtkTreeView" id="plugins_view">
+ <object class="GtkTreeView" id="prefs_plugins_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
</object>
</packing>
</child>
<child type="tab">
- <object class="GtkLabel" id="plugins_label">
+ <object class="GtkLabel" id="prefs_plugins_label">
<property name="visible">True</property>
<property name="label" translatable="yes">Plugins</property>
</object>
</packing>
</child>
<child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area1">
+ <object class="GtkHButtonBox" id="prefs_action">
<property name="visible">True</property>
<property name="layout_style">end</property>
<child>
- <object class="GtkButton" id="button1">
- <property name="label" translatable="yes">gtk-close</property>
+ <object class="GtkButton" id="prefs_action_close">
+ <property name="label">gtk-close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
</child>
<action-widgets>
- <action-widget response="0">button1</action-widget>
+ <action-widget response="0">prefs_action_close</action-widget>
</action-widgets>
</object>
<object class="GtkAboutDialog" id="about_window">
<signal name="response" handler="gtk_widget_hide"/>
<signal name="delete_event" handler="gtk_widget_hide_on_delete"/>
<child internal-child="vbox">
- <object class="GtkVBox" id="dialog-vbox3">
+ <object class="GtkVBox" id="about_0">
<property name="visible">True</property>
+ <property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<placeholder/>
</child>
<child internal-child="action_area">
- <object class="GtkHButtonBox" id="dialog-action_area3">
+ <object class="GtkHButtonBox" id="about_action">
<property name="visible">True</property>
<property name="layout_style">end</property>
</object>
</object>
</child>
</object>
- <object class="GtkSizeGroup" id="prefs_size">
+ <object class="GtkSizeGroup" id="prefs_general_size">
<widgets>
- <widget name="site_label"/>
- <widget name="nexrad_label"/>
- <widget name="log_label"/>
+ <widget name="prefs_general_site_label"/>
+ <widget name="prefs_general_url_label"/>
+ <widget name="prefs_general_log_label"/>
</widgets>
</object>
- <object class="GtkAdjustment" id="adjustment">
+ <object class="GtkAdjustment" id="prefs_general_log_adj">
<property name="upper">8</property>
<property name="step_increment">1</property>
- <property name="page_increment">1</property>
- <property name="page_size">1</property>
</object>
</interface>
GError *error = NULL;
if (!gtk_builder_add_from_file(self->builder, DATADIR "/aweather/main.ui", &error))
g_error("Failed to create gtk builder: %s", error->message);
- gtk_widget_reparent(aweather_gui_get_widget(self, "body"), GTK_WIDGET(self));
+ gtk_widget_reparent(aweather_gui_get_widget(self, "main_body"), GTK_WIDGET(self));
/* GIS things */
- GtkWidget *drawing = aweather_gui_get_widget(self, "drawing");
+ GtkWidget *drawing = aweather_gui_get_widget(self, "main_drawing");
self->opengl = gis_opengl_new(self->world, self->view, GTK_DRAWING_AREA(drawing));
self->opengl->plugins = self->plugins;
//gtk_widget_show_all(GTK_WIDGET(self));
AWeatherGui *self = AWEATHER_GUI(_self);
if (self->builder) {
/* Reparent to avoid double unrefs */
- GtkWidget *body = aweather_gui_get_widget(self, "body");
+ GtkWidget *body = aweather_gui_get_widget(self, "main_body");
GtkWidget *window = aweather_gui_get_widget(self, "main_window");
gtk_widget_reparent(body, window);
g_object_unref(self->builder);
else if (event->keyval == GDK_r && event->state & GDK_CONTROL_MASK)
gis_world_refresh(self->world);
else if (event->keyval == GDK_Tab || event->keyval == GDK_ISO_Left_Tab) {
- GtkNotebook *tabs = GTK_NOTEBOOK(aweather_gui_get_widget(self, "tabs"));
+ GtkNotebook *tabs = GTK_NOTEBOOK(aweather_gui_get_widget(self, "main_tabs"));
gint num_tabs = gtk_notebook_get_n_pages(tabs);
gint cur_tab = gtk_notebook_get_current_page(tabs);
if (event->state & GDK_SHIFT_MASK)
void on_plugin_toggled(GtkCellRendererToggle *cell, gchar *path_str, AWeatherGui *self)
{
- GtkWidget *tview = aweather_gui_get_widget(self, "plugins_view");
+ GtkWidget *tview = aweather_gui_get_widget(self, "prefs_plugins_view");
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(tview));
gboolean state;
gchar *name;
static void update_time_widget(GisView *view, const char *time, AWeatherGui *self)
{
g_debug("AWeatherGui: update_time_widget - time=%s", time);
- GtkTreeView *tview = GTK_TREE_VIEW(aweather_gui_get_widget(self, "time"));
+ GtkTreeView *tview = GTK_TREE_VIEW(aweather_gui_get_widget(self, "main_time"));
GtkTreeModel *model = GTK_TREE_MODEL(gtk_tree_view_get_model(tview));
for (int i = 0; i < gtk_tree_model_iter_n_children(model, NULL); i++) {
char *text;
static void update_site_widget(GisView *view, char *site, AWeatherGui *self)
{
g_debug("AWeatherGui: update_site_widget - site=%s", site);
- GtkComboBox *combo = GTK_COMBO_BOX(aweather_gui_get_widget(self, "site"));
+ GtkComboBox *combo = GTK_COMBO_BOX(aweather_gui_get_widget(self, "main_site"));
GtkTreeModel *model = GTK_TREE_MODEL(gtk_combo_box_get_model(combo));
for (int i = 0; i < gtk_tree_model_iter_n_children(model, NULL); i++) {
GtkTreeIter iter1;
gchar *is = gis_prefs_get_string (self->prefs, "aweather/initial_site");
gchar *nu = gis_prefs_get_string (self->prefs, "aweather/nexrad_url");
gint ll = gis_prefs_get_integer(self->prefs, "aweather/log_level");
- GtkWidget *isw = aweather_gui_get_widget(self, "initial_site");
- GtkWidget *nuw = aweather_gui_get_widget(self, "nexrad_url");
- GtkWidget *llw = aweather_gui_get_widget(self, "log_level");
+ GtkWidget *isw = aweather_gui_get_widget(self, "prefs_general_site");
+ GtkWidget *nuw = aweather_gui_get_widget(self, "prefs_general_url");
+ GtkWidget *llw = aweather_gui_get_widget(self, "prefs_general_log");
if (is) gtk_entry_set_text(GTK_ENTRY(isw), is), g_free(is);
if (nu) gtk_entry_set_text(GTK_ENTRY(nuw), nu), g_free(nu);
if (ll) gtk_spin_button_set_value(GTK_SPIN_BUTTON(llw), ll);
/* Load Plugins */
- GtkTreeView *tview = GTK_TREE_VIEW(aweather_gui_get_widget(self, "plugins_view"));
+ GtkTreeView *tview = GTK_TREE_VIEW(aweather_gui_get_widget(self, "prefs_plugins_view"));
GtkCellRenderer *rend1 = gtk_cell_renderer_text_new();
GtkCellRenderer *rend2 = gtk_cell_renderer_toggle_new();
GtkTreeViewColumn *col1 = gtk_tree_view_column_new_with_attributes(
}
}
- GtkWidget *combo = aweather_gui_get_widget(self, "site");
- GObject *renderer = aweather_gui_get_object(self, "site_rend");
+ GtkWidget *combo = aweather_gui_get_widget(self, "main_site");
+ GObject *renderer = aweather_gui_get_object(self, "main_site_rend");
gtk_cell_layout_set_cell_data_func(GTK_CELL_LAYOUT(combo),
GTK_CELL_RENDERER(renderer), combo_sensitive, NULL, NULL);
static void time_setup(AWeatherGui *self)
{
- GtkTreeView *tview = GTK_TREE_VIEW(aweather_gui_get_widget(self, "time"));
+ GtkTreeView *tview = GTK_TREE_VIEW(aweather_gui_get_widget(self, "main_time"));
GtkCellRenderer *rend = gtk_cell_renderer_text_new();
GtkTreeViewColumn *col = gtk_tree_view_column_new_with_attributes(
"Time", rend, "text", 0, NULL);
GRegex *regex = g_regex_new("^[A-Z]{4}_([0-9]{8}_[0-9]{4})$", 0, 0, NULL); // KLSX_20090622_2113
GMatchInfo *info;
- GtkTreeView *tview = GTK_TREE_VIEW(aweather_gui_get_widget(self, "time"));
+ GtkTreeView *tview = GTK_TREE_VIEW(aweather_gui_get_widget(self, "main_time"));
GtkListStore *lstore = GTK_LIST_STORE(gtk_tree_view_get_model(tview));
gtk_list_store_clear(lstore);
GtkTreeIter iter;
{
GisPlugin *plugin = gis_plugins_load(self->plugins, name,
self->world, self->view, self->opengl, self->prefs);
- GtkWidget *config = aweather_gui_get_widget(self, "tabs");
+ GtkWidget *config = aweather_gui_get_widget(self, "main_tabs");
GtkWidget *tab = gtk_label_new(name);
GtkWidget *body = gis_plugin_get_config(plugin);
gtk_notebook_append_page(GTK_NOTEBOOK(config), body, tab);
}
void aweather_gui_deattach_plugin(AWeatherGui *self, const gchar *name)
{
- GtkWidget *config = aweather_gui_get_widget(self, "tabs");
+ GtkWidget *config = aweather_gui_get_widget(self, "main_tabs");
guint n_pages = gtk_notebook_get_n_pages(GTK_NOTEBOOK(config));
for (int i = 0; i < n_pages; i++) {
g_debug("testing tab %d", i);