diff options
author | Antony Kellermann | 2018-08-22 10:34:41 -0400 |
---|---|---|
committer | Antony Kellermann | 2018-08-22 10:34:41 -0400 |
commit | 5fbc048c4449a22b5b7b9338680c5ef736af0aa2 (patch) | |
tree | 76408c0c967dfb9fcdba891e4860bc09e8fffec5 | |
parent | ba1aad0d899415794aad7580356f89e1a4d7ef4c (diff) | |
download | aur-5fbc048c4449a22b5b7b9338680c5ef736af0aa2.tar.gz |
Basic info support for gtk
-rw-r--r-- | gtk_win.c | 121 | ||||
-rw-r--r-- | gtk_win.h | 11 | ||||
-rw-r--r-- | window_main.glade | 868 |
3 files changed, 1000 insertions, 0 deletions
diff --git a/gtk_win.c b/gtk_win.c index 51fa3130f07f..856aacae1d8b 100644 --- a/gtk_win.c +++ b/gtk_win.c @@ -330,6 +330,35 @@ void on_column_clicked(GtkTreeViewColumn* column, GtkListStore* list_store) { list_store_sort(list_store, idx); } +void on_check_tree_view_row_activated(GtkTreeView* tree_view, GtkTreePath* path, + GtkTreeViewColumn* column) { + GtkContainer* window = GTK_CONTAINER(GET_OBJECT("check_window")); + gtk_container_remove(window, GTK_WIDGET(GET_OBJECT("check_pane"))); + gtk_container_add(window, GTK_WIDGET(GET_OBJECT("info_pane"))); + + GtkTreeIter iter; + GtkTreeModel* model = GTK_TREE_MODEL(GET_OBJECT("check_list")); + gtk_tree_model_get_iter(model, &iter, path); + gchar* symbol; + gtk_tree_model_get(model, &iter, SYMBOL, &symbol, -1); + + Info* pInfo = info_array_get_info_from_symbol(app.portfolio_data, symbol); + if (pInfo->api_provider != IEX) // Only see info for iex securities + return; + + if (pInfo->name[0] == '\0') // MISC not loaded yet + iex_batch_store_data_info(pInfo, MISC); + + info_pane_populate_all(pInfo); + g_free(symbol); +} + +void on_info_back_button_clicked(GtkButton* button) { + GtkContainer* window = GTK_CONTAINER(GET_OBJECT("check_window")); + gtk_container_remove(window, GTK_WIDGET(GET_OBJECT("info_pane"))); + gtk_container_add(window, GTK_WIDGET(GET_OBJECT("check_pane"))); +} + void format_cells(Info_Array* portfolio_data) { Info* idx; for (size_t i = 0; i < portfolio_data->length + 1; i++) { // +1 for totals @@ -415,6 +444,98 @@ void list_store_update(void) { } } +void info_pane_populate_all(const Info* pInfo) { + info_pane_populate_header(pInfo); + info_pane_populate_company(pInfo); +} + +void info_pane_populate_header(const Info* pInfo) { + GtkLabel* symbol_label = GTK_LABEL(GET_OBJECT("info_header_symbol_label")); + GtkLabel* name_label = GTK_LABEL(GET_OBJECT("info_header_name_label")); + GtkLabel* date_label = GTK_LABEL(GET_OBJECT("info_header_date_label")); + GtkLabel* percent_24H_label = GTK_LABEL(GET_OBJECT("info_header_24H_change_label")); + GtkLabel* percent_7D_label = GTK_LABEL(GET_OBJECT("info_header_7D_change_label")); + GtkLabel* percent_30D_label = GTK_LABEL(GET_OBJECT("info_header_30D_change_label")); + + gchar date_string[DATE_MAX_LENGTH]; + if (pInfo->intraday_time != EMPTY) { + time_t time = pInfo->intraday_time; + struct tm* ts = localtime(&time); + strftime(date_string, DATE_MAX_LENGTH, "%F %T", ts); + } else date_string[0] = '\0'; + + gtk_label_set_label(symbol_label, pInfo->symbol); + gtk_label_set_label(name_label, pInfo->name); + gtk_label_set_label(date_label, date_string); + gtk_label_set_label(percent_24H_label, pInfo->fprofit_last_close_percent); + gtk_label_set_label(percent_7D_label, pInfo->fprofit_7d_percent); + gtk_label_set_label(percent_30D_label, pInfo->fprofit_30d_percent); +} + +void info_pane_populate_company(const Info* pInfo) { + gchar revenue[32], cash[32], marketcap[32], pe_ratio[32], gross_profit[32], debt[32], + volume[32], div_yield[32]; + sprintf(revenue, "%ld", pInfo->revenue); + sprintf(cash, "%ld", pInfo->cash); + sprintf(marketcap, "%ld", pInfo->cash); + sprintf(pe_ratio, "%lf", pInfo->pe_ratio); + sprintf(gross_profit, "%ld", pInfo->gross_profit); + sprintf(debt, "%ld", pInfo->debt); + sprintf(volume, "%ld", pInfo->volume_1d); + sprintf(div_yield, "%lf", pInfo->div_yield); + + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_description_label")), pInfo->description); + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_ceo_label")), pInfo->ceo); + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_sector_label")), pInfo->sector); + + if (pInfo->revenue != EMPTY) + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_revenue_label")), revenue); + if (pInfo->cash != EMPTY) + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_cash_label")), cash); + if (pInfo->marketcap != EMPTY) + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_market_cap_label")), marketcap); + if (pInfo->pe_ratio != EMPTY) + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_pe_ratio_label")), pe_ratio); + + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_website_label")), pInfo->website); + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_industry_label")), pInfo->industry); + + if (pInfo->gross_profit != EMPTY) + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_gross_profit_label")), gross_profit); + if (pInfo->debt != EMPTY) + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_debt_label")), debt); + if (pInfo->volume_1d != EMPTY) + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_volume_label")), volume); + if (pInfo->div_yield != EMPTY) + gtk_label_set_label(GTK_LABEL(GET_OBJECT("info_div_yield_label")), div_yield); + + gchar period_label_name[32]; + strcpy(period_label_name, "info_fiscal_period_label"); + size_t len = strlen(period_label_name); + for (int i = 0; i < QUARTERS && pInfo->fiscal_period[i][0] != '\0'; i++) { + sprintf(&period_label_name[len], "%d", i + 1); + gtk_label_set_label(GTK_LABEL(GET_OBJECT(period_label_name)), pInfo->fiscal_period[i]); + } + + gchar eps_label_name[32], eps[16]; + strcpy(eps_label_name, "info_eps_label"); + len = strlen(eps_label_name); + for (int i = 0; i < QUARTERS && pInfo->eps[i] != EMPTY; i++) { + sprintf(&eps_label_name[len], "%d", i + 1); + sprintf(eps, "%.2lf", pInfo->eps[i]); + gtk_label_set_label(GTK_LABEL(GET_OBJECT(eps_label_name)), eps); + } + + gchar eps_1y_label_name[32]; + strcpy(eps_1y_label_name, "info_eps_previous_label"); + len = strlen(eps_1y_label_name); + for (int i = 0; i < QUARTERS && pInfo->eps_year_ago[i] != EMPTY; i++) { + sprintf(&eps_1y_label_name[len], "%d", i + 1); + sprintf(eps, "%.2lf", pInfo->eps_year_ago[i]); + gtk_label_set_label(GTK_LABEL(GET_OBJECT(eps_1y_label_name)), eps); + } +} + void show_generic_message_dialog(const char* message, gboolean success) { char widget_name[64]; if (success) diff --git a/gtk_win.h b/gtk_win.h index 9d3d10b03de6..8b8746807bbf 100644 --- a/gtk_win.h +++ b/gtk_win.h @@ -161,6 +161,11 @@ void on_check_window_destroy(void); */ void on_column_clicked(GtkTreeViewColumn* column, GtkListStore* list_store); +void on_check_tree_view_row_activated(GtkTreeView* tree_view, GtkTreePath* path, + GtkTreeViewColumn* column); + +void on_info_back_button_clicked(GtkButton* button); + /** UTILS **/ /** @@ -182,6 +187,12 @@ void list_store_sort(GtkListStore* list_store, Col_Index idx); */ void list_store_update(void); +void info_pane_populate_all(const Info* pInfo); + +void info_pane_populate_header(const Info* pInfo); + +void info_pane_populate_company(const Info* pInfo); + /** * Shows a generic message dialog. * @param message the message to show diff --git a/window_main.glade b/window_main.glade index 551bfb8216af..3a47dce17e02 100644 --- a/window_main.glade +++ b/window_main.glade @@ -74,6 +74,7 @@ https://github.com/aokellermann/ <property name="visible">True</property> <property name="can_focus">True</property> <property name="orientation">vertical</property> + <signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/> <child> <object class="GtkBox" id="top_bar_box"> <property name="visible">True</property> @@ -186,6 +187,7 @@ https://github.com/aokellermann/ <property name="fixed_height_mode">True</property> <property name="show_expanders">False</property> <property name="enable_grid_lines">both</property> + <signal name="row-activated" handler="on_check_tree_view_row_activated" swapped="no"/> <child internal-child="selection"> <object class="GtkTreeSelection" id="check_selection"/> </child> @@ -764,4 +766,870 @@ https://github.com/aokellermann/ </object> </child> </object> + <object class="GtkTextBuffer" id="info_header_buffer"/> + <object class="GtkListStore" id="news_list"> + <columns> + <!-- column-name Headline --> + <column type="gchararray"/> + <!-- column-name Source --> + <column type="gchararray"/> + <!-- column-name Date --> + <column type="gchararray"/> + <!-- column-name Summary --> + <column type="gchararray"/> + <!-- column-name Url --> + <column type="gchararray"/> + <!-- column-name Related --> + <column type="gchararray"/> + </columns> + </object> + <object class="GtkListStore" id="peers_list"> + <columns> + <!-- column-name Symbol --> + <column type="gchararray"/> + <!-- column-name 24H% --> + <column type="gchararray"/> + <!-- column-name 7D% --> + <column type="gchararray"/> + <!-- column-name 30D% --> + <column type="gchararray"/> + </columns> + </object> + <object class="GtkPaned" id="info_pane"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="orientation">vertical</property> + <signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/> + <child> + <object class="GtkBox" id="info_top_bar_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkButton" id="info_back_button"> + <property name="label" translatable="yes">Back to Portfolio</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <signal name="clicked" handler="on_info_back_button_clicked" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="info_header_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">5</property> + <child> + <object class="GtkBox" id="info_header_left_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkLabel" id="info_header_symbol_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="info_header_name_date_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">5</property> + <child> + <object class="GtkLabel" id="info_header_name_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_header_date_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="info_header_percent_change_grid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkLabel" id="info_header_24H_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">24H%</property> + <property name="justify">right</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_header_7D_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">7D%</property> + <property name="justify">right</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_header_30H_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">30D%</property> + <property name="justify">right</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_header_24H_change_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="justify">right</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_header_7D_change_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="justify">right</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_header_30D_change_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="justify">right</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="resize">False</property> + <property name="shrink">True</property> + </packing> + </child> + <child> + <object class="GtkBox" id="info_main_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkBox" id="info_left_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkScrolledWindow" id="info_company_scroll_window"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkViewport" id="info_company_viewport"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkBox" id="info_company_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">8</property> + <child> + <object class="GtkLabel" id="info_description_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="wrap">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="info_company_middle_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="spacing">5</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkGrid" id="info_company_left_grid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="row_homogeneous">True</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkLabel" id="info_ceo"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">CEO:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_ceo_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_sector"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Sector:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_sector_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_revenue_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_revenue"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Revenue:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_cash"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Cash:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_cash_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_market_cap"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Market Cap:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_market_cap_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_pe_ratio_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_pe_ratio"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">P/E Ratio:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="info_company_right_grid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="row_homogeneous">True</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkLabel" id="info_website"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Website:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_website_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="selectable">True</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_industry"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Industry:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_industry_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_gross_profit"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Gross Profit:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_gross_profit_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_debt"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Debt:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_debt_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_volume"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Volume:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">4</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_div_yield_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_div_yield"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Dividend Yield:</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">5</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_volume_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">4</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="info_earnings_grid"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="row_homogeneous">True</property> + <property name="column_homogeneous">True</property> + <child> + <object class="GtkLabel" id="info_fiscal_period_label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_fiscal_period_label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_fiscal_period_label3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">3</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_fiscal_period_label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">4</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">EPS</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps_label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps_label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps_label3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">3</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps_label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">4</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps_previous"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Previous Year</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps_previous_label1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps_previous_label2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps_previous_label3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">3</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_eps_previous_label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + </object> + <packing> + <property name="left_attach">4</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="info_fiscal_period"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Fiscal Period</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">2</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="info_peers_scroll_window"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkTreeView" id="info_peers_tree_view"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="model">peers_list</property> + <property name="enable_search">False</property> + <property name="show_expanders">False</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="info_peers_tree_selection"/> + </child> + <child> + <object class="GtkTreeViewColumn" id="peers_symbol_column"> + <property name="title" translatable="yes">Symbol</property> + <child> + <object class="GtkCellRendererText" id="peers_symbol_column_renderer"> + <property name="xalign">1</property> + <property name="alignment">right</property> + </object> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="peers_24H%_column"> + <property name="title" translatable="yes">24H%</property> + <child> + <object class="GtkCellRendererText" id="peers_24H%_column_renderer"> + <property name="xalign">1</property> + <property name="alignment">right</property> + </object> + <attributes> + <attribute name="text">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="peers_7D%_column"> + <property name="title" translatable="yes">7D%</property> + <child> + <object class="GtkCellRendererText" id="peers_7D%_column_renderer"> + <property name="xalign">1</property> + <property name="alignment">right</property> + </object> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="peers_30D%_column"> + <property name="title" translatable="yes">30D%</property> + <child> + <object class="GtkCellRendererText" id="peers_30D%_column_renderer"> + <property name="xalign">1</property> + <property name="alignment">right</property> + </object> + <attributes> + <attribute name="text">3</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkScrolledWindow" id="info_news_scroll_window"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="shadow_type">in</property> + <child> + <object class="GtkViewport" id="info_news_viewport"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkBox" id="info_news_box"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">5</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkTextView" id="info_news_text_view"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="cursor_visible">False</property> + <property name="accepts_tab">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="resize">True</property> + <property name="shrink">True</property> + </packing> + </child> + </object> </interface> |