App-Chart
view release on metacpan or search on metacpan
lib/App/Chart/Gtk2/WatchlistDialog.pm view on Meta::CPAN
# $combobox->signal_connect (changed => \&_do_combobox_changed);
# $action_area->add ($combobox);
$self->add_buttons ('gtk-refresh' => RESPONSE_REFRESH,
'gtk-delete' => RESPONSE_DELETE);
{
my $intraday_button = $self->{'intraday_button'}
= Gtk2::Button->new_with_mnemonic (__('_Intraday'));
$self->add_action_widget ($intraday_button, RESPONSE_INTRADAY);
}
{
my $edit_button = $self->{'edit_button'}
= Gtk2::Button->new_with_mnemonic (__('_Edit Name'));
$self->add_action_widget ($edit_button, RESPONSE_EDIT_NAME);
}
$self->add_buttons ('gtk-close' => 'close',
'gtk-help' => 'help');
require App::Chart::Gtk2::WatchlistModel;
my $model = App::Chart::Gtk2::WatchlistModel->new ($symlist);
my $symbols_vbox = Gtk2::VBox->new;
my $symbols_tab_eventbox = $self->{'symbols_tab_eventbox'}
= Gtk2::EventBox->new;
$symbols_tab_eventbox->signal_connect
(button_press_event => \&_do_symbols_tab_button_press);
my $symbols_tab_label = $self->{'symbols_tab_label'} = Gtk2::Label->new;
$symbols_tab_label->show;
$symbols_tab_eventbox->add ($symbols_tab_label);
$notebook->append_page ($symbols_vbox, $symbols_tab_eventbox);
my $symlists_vbox = $self->{'symlists_vbox'} = Gtk2::VBox->new;
$notebook->append_page ($symlists_vbox, __('Symlists'));
App::Chart::Gtk2::Ex::NotebookLazyPages::set_init
($notebook, $symlists_vbox, \&_init_symlists_page);
$notebook->signal_connect ('notify::page' => \&_do_notebook_notify_page);
my $scrolled = $self->{'symbols_scrolled'} = Gtk2::ScrolledWindow->new;
$scrolled->set(hscrollbar_policy => 'never');
$symbols_vbox->pack_start ($scrolled, 1,1,0);
my $treeview = $self->{'symbols_treeview'}
= Gtk2::TreeView->new_with_model ($model);
$treeview->set (fixed_height_mode => 1,
reorderable => $symlist && $symlist->can_edit);
$scrolled->add ($treeview);
$treeview->signal_connect (query_tooltip => \&_do_query_tooltip);
$treeview->set (has_tooltip => 1);
my $selection = $treeview->get_selection;
$selection->signal_connect (changed => \&_do_symbol_selection_changed);
$selection->set_mode ('single');
my $renderer_left = Gtk2::CellRendererText->new;
$renderer_left->set (xalign => 0,
ypad => 0);
$renderer_left->set_fixed_height_from_font (1);
my $renderer_right = Gtk2::CellRendererText->new;
$renderer_right->set (xalign => 1,
ypad => 0);
$renderer_right->set_fixed_height_from_font (1);
{
my $renderer = $self->{'symbol_renderer'} = Gtk2::CellRendererText->new;
$renderer->set (xalign => 0, ypad => 0);
$renderer->set_fixed_height_from_font (1);
my $column = Gtk2::TreeViewColumn->new_with_attributes
(__('Symbol'), $renderer,
text => $model->COL_SYMBOL,
foreground => $model->COL_COLOUR);
$column->set (sizing => 'fixed',
fixed_width => 8*$em,
resizable => 1);
App::Chart::Gtk2::Ex::CellRendererTextBits::renderer_edited_set_value
($renderer, $column, 0);
$renderer->signal_connect (edited => \&_do_symbol_renderer_edited);
$treeview->append_column ($column);
}
{
my $column = Gtk2::TreeViewColumn->new_with_attributes
(__('Bid/Offer'), $renderer_right,
text => $model->COL_BIDOFFER,
foreground => $model->COL_COLOUR);
$column->set (sizing => 'fixed',
fixed_width => 12*$em,
resizable => 1);
$treeview->append_column ($column);
}
{
my $column = Gtk2::TreeViewColumn->new_with_attributes
(__('Last'), $renderer_right,
text => $model->COL_LAST,
foreground => $model->COL_COLOUR);
$column->set (sizing => 'fixed',
fixed_width => 7*$em,
resizable => 1);
$treeview->append_column ($column);
}
{
my $column = Gtk2::TreeViewColumn->new_with_attributes
(__('Change'), $renderer_right,
text => $model->COL_CHANGE,
foreground => $model->COL_COLOUR);
$column->set (sizing => 'fixed',
fixed_width => 7*$em,
resizable => 1);
$treeview->append_column ($column);
}
{
my $column = Gtk2::TreeViewColumn->new_with_attributes
(__('High'), $renderer_right,
text => $model->COL_HIGH,
foreground => $model->COL_COLOUR);
$column->set (sizing => 'fixed',
fixed_width => 7*$em,
resizable => 1);
$treeview->append_column ($column);
}
{
my $column = Gtk2::TreeViewColumn->new_with_attributes
(__('Low'), $renderer_right,
text => $model->COL_LOW,
foreground => $model->COL_COLOUR);
$column->set (sizing => 'fixed',
fixed_width => 7*$em,
( run in 0.456 second using v1.01-cache-2.11-cpan-5735350b133 )