function __construct($parent = null)
 {
     parent::__construct();
     if ($parent) {
         $this->set_screen($parent->get_screen());
     } else {
         $this->connect_simple('destroy', array('gtk', 'main_quit'));
     }
     $this->set_title(__CLASS__);
     $this->set_position(Gtk::WIN_POS_CENTER);
     $this->set_default_size(-1, 500);
     $this->set_border_width(8);
     $hbox = new GtkHBox(false, 8);
     $this->add($hbox);
     $scrolled = new GtkScrolledWindow();
     $scrolled->set_shadow_type(Gtk::SHADOW_ETCHED_IN);
     $scrolled->set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
     $hbox->pack_start($scrolled, false, false, 0);
     $model = $this->create_model();
     $treeview = new GtkTreeView($model);
     $scrolled->add($treeview);
     $column = new GtkTreeViewColumn();
     $column->set_title('Icon and Constant');
     $cell_renderer = new GtkCellRendererPixbuf();
     $column->pack_start($cell_renderer, false);
     $column->set_attributes($cell_renderer, 'stock-id', 1);
     $cell_renderer = new GtkCellRendererText();
     $column->pack_start($cell_renderer, true);
     $column->set_cell_data_func($cell_renderer, 'constant_setter');
     $treeview->append_column($column);
     $cell_renderer = new GtkCellRendererText();
     $treeview->insert_column_with_data_func(-1, 'Label', $cell_renderer, 'label_setter');
     $cell_renderer = new GtkCellRendererText();
     $treeview->insert_column_with_data_func(-1, 'Accelerator', $cell_renderer, 'accel_setter');
     $cell_renderer = new GtkCellRendererText();
     $treeview->insert_column_with_data_func(-1, 'ID', $cell_renderer, 'id_setter');
     $align = new GtkAlignment(0.5, 0, 0, 0);
     $hbox->pack_end($align, true, true, 0);
     $frame = new GtkFrame('Selection Info');
     $align->add($frame);
     $vbox = new GtkVBox(false, 8);
     $vbox->set_border_width(4);
     $frame->add($vbox);
     $display = new StockItemDisplay();
     $treeview->set_data('stock-display', $display);
     $display->type_label = new GtkLabel();
     $display->constant_label = new GtkLabel();
     $display->id_label = new GtkLabel();
     $display->accel_label = new GtkLabel();
     $display->icon_image = new GtkImage();
     $vbox->pack_start($display->type_label, false, false, 0);
     $vbox->pack_start($display->icon_image, false, false, 0);
     $vbox->pack_start($display->accel_label, false, false, 0);
     $vbox->pack_start($display->constant_label, false, false, 0);
     $vbox->pack_start($display->id_label, false, false, 0);
     $selection = $treeview->get_selection();
     $selection->set_mode(Gtk::SELECTION_SINGLE);
     $selection->connect('changed', array($this, 'on_selection_changed'));
     $this->show_all();
 }
 /**
  * Class Constructor
  * @param $name Name of the widget
  */
 public function __construct($name)
 {
     parent::__construct($name);
     $this->widget = new GtkVBox();
     parent::add($this->widget);
     $this->orientation = 'vertical';
     $this->count = 0;
     $this->types = array();
     $this->created = FALSE;
     $this->table_fields = new TTable();
     $this->editing = FALSE;
     $this->widget->pack_start($this->table_fields, false, false);
     $this->view = new GtkTreeView();
     $this->model = new GtkListStore();
     $button_bar = new GtkHBox();
     $add = GtkButton::new_from_stock(Gtk::STOCK_SAVE);
     $del = GtkButton::new_from_stock(Gtk::STOCK_DELETE);
     $can = GtkButton::new_from_stock(Gtk::STOCK_CANCEL);
     $add->connect_simple('clicked', array($this, 'onSave'));
     $del->connect_simple('clicked', array($this, 'onDelete'));
     $can->connect_simple('clicked', array($this, 'onCancel'));
     $button_bar->pack_start($add, FALSE, FALSE);
     $button_bar->pack_start($del, FALSE, FALSE);
     $button_bar->pack_start($can, FALSE, FALSE);
     $this->widget->pack_start($button_bar, false, false);
     $scroll = new GtkScrolledWindow();
     $scroll->add($this->view);
     $scroll->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
     $this->widget->pack_start($scroll, false, false);
     $this->view->set_size_request(400, 140);
     $this->height = 140;
     $this->view->connect_simple('button_release_event', array($this, 'onClick'));
 }
 /**
  * Class Constructor
  * @param  $message    A string containint the question
  * @param  $action_yes Action taken for YES response
  * @param  $action_no  Action taken for NO  response
  */
 public function __construct($message, TAction $action_yes, TAction $action_no = NULL)
 {
     $buttons = array(Gtk::STOCK_YES, Gtk::RESPONSE_YES);
     if ($action_no instanceof TAction) {
         $buttons[] = Gtk::STOCK_NO;
         $buttons[] = Gtk::RESPONSE_NO;
     }
     $buttons[] = Gtk::STOCK_CANCEL;
     $buttons[] = Gtk::RESPONSE_CANCEL;
     parent::__construct('', NULL, Gtk::DIALOG_MODAL, $buttons);
     parent::set_position(Gtk::WIN_POS_CENTER);
     parent::set_size_request(500, 300);
     $textview = new GtkTextView();
     $textview->set_wrap_mode(Gtk::WRAP_WORD);
     $textview->set_border_width(12);
     $textbuffer = $textview->get_buffer();
     $tagtable = $textbuffer->get_tag_table();
     $customTag = new GtkTextTag();
     $tagtable->add($customTag);
     $customTag->set_property('foreground', '#525252');
     $tagBegin = $textbuffer->create_mark('tagBegin', $textbuffer->get_end_iter(), true);
     $textbuffer->insert_at_cursor("\n   " . $message);
     $tagEnd = $textbuffer->create_mark('tagEnd', $textbuffer->get_end_iter(), true);
     $start = $textbuffer->get_iter_at_mark($tagBegin);
     $end = $textbuffer->get_iter_at_mark($tagEnd);
     $textbuffer->apply_tag($customTag, $start, $end);
     $textview->set_editable(FALSE);
     $textview->set_cursor_visible(FALSE);
     $pango = new PangoFontDescription('Sans 14');
     $textview->modify_font($pango);
     $image = GtkImage::new_from_stock(Gtk::STOCK_DIALOG_QUESTION, Gtk::ICON_SIZE_DIALOG);
     $scroll = new GtkScrolledWindow();
     $scroll->set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_ALWAYS);
     $scroll->add($textview);
     $hbox = new GtkHBox();
     $this->vbox->pack_start($hbox);
     $hbox->pack_start($image, FALSE, FALSE);
     $hbox->pack_start($scroll, TRUE, TRUE);
     $this->show_all();
     $result = parent::run();
     if ($result == Gtk::RESPONSE_YES) {
         parent::destroy();
         call_user_func_array($action_yes->getAction(), array($action_yes->getParameters()));
     } else {
         if ($result == Gtk::RESPONSE_NO) {
             parent::destroy();
             call_user_func_array($action_no->getAction(), array($action_no->getParameters()));
         } else {
             parent::destroy();
         }
     }
 }
 public function __construct()
 {
     $this->frame = new GtkFrame();
     $frameBox = new GtkVBox(false, 10);
     $frameBox->set_border_width(10);
     $titleBox = new GtkHBox(false, 10);
     $titleLabel = new GtkLabel("User Roles");
     $titleLabel->set_markup("<span weight='bold'>User Roles</span>");
     $titleLabel->set_alignment(0, 0.5);
     $this->statusLabel = new GtkLabel("");
     $this->statusLabel->set_alignment(1, 0.5);
     $titleBox->pack_start($titleLabel, true, true, 0);
     $titleBox->pack_end($this->statusLabel, true, true, 0);
     $frameBox->pack_start($titleBox, false, false, 0);
     $this->frame->add($frameBox);
     $this->roleListStore = new GtkRefListStore(Gobject::TYPE_STRING);
     $this->roleListTree = new GtkRefTreeView($this->roleListStore);
     $this->roleListTree->set_headers_visible(false);
     $roleListSelection = $this->roleListTree->get_selection();
     $roleListSelection->set_mode(Gtk::SELECTION_SINGLE);
     $roleListSelection->connect('changed', array($this, 'selectRoleToRemove'));
     $rolesWindow = new GtkScrolledWindow();
     $rolesWindow->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
     $rolesWindow->set_shadow_type(Gtk::SHADOW_ETCHED_IN);
     $rolesWindow->add($this->roleListTree);
     $frameBox->pack_start($rolesWindow, true, true, 0);
     $renderer = new GtkCellRendererText();
     $renderer->set_property("editable", false);
     $column = new GtkTreeViewColumn('Role', $renderer, "text", 0);
     $column->set_expand(true);
     $column->set_resizable(false);
     $this->roleListTree->append_column($column);
     $this->roleComboStore = new GtkRefListStore(Gobject::TYPE_STRING);
     $this->roleComboStore->refInsert(RoleEnum::getList());
     $this->roleCombo = new GtkRefComboBox($this->roleComboStore);
     $roleCell = new GtkCellRendererText();
     $roleCell->set_property('ellipsize', Pango::ELLIPSIZE_END);
     $this->roleCombo->pack_start($roleCell);
     $this->roleCombo->set_attributes($roleCell, 'text', 0);
     $this->roleCombo->connect('changed', array($this, 'selectRoleToAdd'));
     $this->addButton = new GtkButton("Add");
     $this->addButton->set_sensitive(false);
     $this->removeButton = new GtkButton("Remove");
     $this->removeButton->set_sensitive(false);
     $this->enableForm(false);
     $buttonBox = new GtkHBox(false, 8);
     $buttonBox->pack_end($this->removeButton, false, false, 0);
     $buttonBox->pack_end($this->addButton, false, false, 0);
     $buttonBox->pack_end($this->roleCombo, true, true, 0);
     $frameBox->pack_end($buttonBox, false, false, 0);
 }
 function __construct($parent = null)
 {
     parent::__construct();
     if ($parent) {
         $this->set_screen($parent->get_screen());
     } else {
         $this->connect_simple('destroy', array('gtk', 'main_quit'));
     }
     $this->set_title(__CLASS__);
     $this->set_position(Gtk::WIN_POS_CENTER);
     $this->set_default_size(-1, 500);
     $this->set_border_width(8);
     $hbox = new GtkHBox(false, 8);
     $this->add($hbox);
     $scrolled = new GtkScrolledWindow();
     $scrolled->set_shadow_type(Gtk::SHADOW_ETCHED_IN);
     $scrolled->set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
     $hbox->pack_start($scrolled, false, false, 0);
     $this->list = new GtkListStore(Gtk::TYPE_STRING, GdkPixbuf::gtype, GdkPixbuf::gtype, Gtk::TYPE_LONG, Gtk::TYPE_LONG, Gtk::TYPE_STRING);
     $treeview = new GtkTreeView($this->list);
     $scrolled->add($treeview);
     $column = new GtkTreeViewColumn();
     //$column->set_title('Name');
     $cell_renderer = new GtkCellRendererText();
     //$treeview->insert_column_with_data_func(-1, 'Name', $cell_renderer, 'smart_setter');
     $treeview->append_column(new GtkTreeViewColumn('Name', $cell_renderer, 'text', 0));
     $cell_renderer = new GtkCellRendererPixbuf();
     $treeview->append_column(new GtkTreeViewColumn('Race', $cell_renderer, 'pixbuf', 1));
     //$treeview->insert_column_with_data_func(-1, 'Race', $cell_renderer, 'smart_setter');
     $cell_renderer = new GtkCellRendererPixbuf();
     $treeview->append_column(new GtkTreeViewColumn('Class', $cell_renderer, 'pixbuf', 2));
     //$treeview->insert_column_with_data_func(-1, 'Class', $cell_renderer, 'smart_setter');
     $cell_renderer = new GtkCellRendererText();
     //$treeview->insert_column_with_data_func(-1, 'Zone', $cell_renderer, 'smart_setter');
     $cell_renderer = new GtkCellRendererText();
     $treeview->append_column(new GtkTreeViewColumn('Level', $cell_renderer, 'text', 3));
     //$treeview->insert_column_with_data_func(-1, 'LEVEL', $cell_renderer, 'smart_setter');
     $cell_renderer = new GtkCellRendererText();
     $treeview->append_column(new GtkTreeViewColumn('Ping', $cell_renderer, 'text', 4));
     //$treeview->insert_column_with_data_func(-1, 'PING', $cell_renderer, 'smart_setter');
     $treeview->append_column(new GtkTreeViewColumn('Zone', $cell_renderer, 'text', 5));
     $align = new GtkAlignment(0.5, 0, 0, 0);
     $hbox->pack_end($align, true, true, 0);
     $selection = $treeview->get_selection();
     $selection->set_mode(Gtk::SELECTION_SINGLE);
     //$selection->connect('changed', array($this, 'on_selection_changed'));
     $treeview->connect('key-press-event', array($this, 'on_selection_changed'));
     $treeview->connect('button-press-event', array($this, 'on_selection_changed'));
     $this->show_all();
 }
Exemple #6
0
 function __construct($Parent, $operacao = 'i', $CodPerfil = null)
 {
     parent::__construct($operacao == 'i' ? 'Perfis - Incluir' : 'Perfis - Alterar', 800, 600, 'perfis.png');
     $this->Parent = $Parent;
     $this->operacao = $operacao;
     $this->CodPerfil = $CodPerfil;
     $GLOBALS['XMONEY_FIELD'] = 'Cod_S_Perfil';
     $GLOBALS['XMONEY_FIELD_ID'] = $CodPerfil ? $CodPerfil : -1;
     // Id
     $this->pack_start($hbox = new GtkHBox(), false);
     if ($operacao == 'a') {
         $hbox->pack_start($id = new GtkLabel(), false);
         $id->set_markup(' Id.: <b>' . $CodPerfil . '</b>');
     }
     // nome
     $this->pack_start($hbox = new GtkHBox(), false);
     $hbox->pack_start(new GtkLabel(' Nome: '), false);
     $hbox->pack_start($this->nome = new AEntry(true, true, 'Tb_Perfis', 'Nome'));
     // descricao
     $hbox->pack_start(new GtkLabel(latin1(' Descrição: ')), false);
     $hbox->pack_start($this->descricao = new AEntry(true, true, 'Tb_Perfis', 'Descricao'));
     // Expandir e Sel. Todos
     $this->pack_start($hbox = new GtkHBox(), false);
     $hbox->pack_start($this->expandir = new GtkCheckButton('Expandir'), false);
     $this->expandir->connect('toggled', array($this, 'expandir_toggled'));
     $hbox->pack_start($check = new GtkCheckButton('Sel. Todos'), false);
     $check->connect('toggled', array($this, 'sel_todos_toggled'));
     // progresso
     $hbox->pack_start($this->progresso = new GtkProgressBar());
     // Permissoes
     $this->pack_start($frame = new GtkFrame(latin1(' Permissões ')));
     $frame->set_border_width(5);
     $frame->add($scroll_wnd = new GtkScrolledWindow());
     $scroll_wnd->set_border_width(5);
     $scroll_wnd->set_policy(GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
     $scroll_wnd->add_with_viewport($this->lista = new GtkVBox());
     // ok
     $this->pack_start($hbbox = new GtkHButtonBox(), false);
     $hbbox->set_layout(Gtk::BUTTONBOX_END);
     $hbbox->pack_start($this->ok = GtkButton::new_from_stock('gtk-ok'), false);
     $this->ok->connect('clicked', array($this, 'ok_clicked'));
     // cancelar
     $hbbox->pack_start($this->cancelar = GtkButton::new_from_stock('gtk-cancel'), false);
     $this->cancelar->connect('clicked', array($this, 'cancelar_clicked'));
     $this->cancelar->add_accelerator('clicked', $this->accel_group, Gdk::KEY_Escape, 0, 0);
     $this->children_show_all();
     $this->nome->set_focus();
 }
Exemple #7
0
 function __construct()
 {
     parent::__construct();
     parent::set_title('Adianti Framework :: Samples');
     $this->content = new GtkFixed();
     $vbox = new GtkVBox();
     $scroll = new GtkScrolledWindow();
     $scroll->set_policy(GTK::POLICY_AUTOMATIC, GTK::POLICY_ALWAYS);
     $scroll->set_size_request(200, -1);
     $vbox->pack_start(GtkImage::new_from_file('app/images/pageheader.png'), false, false);
     $MenuBar = TMenuBar::newFromXML('menu.xml');
     $vbox->pack_start($MenuBar, false, false);
     $vbox->pack_start($this->content, true, true);
     parent::add($vbox);
     parent::show_all();
 }
 function __create_box()
 {
     $box = new GtkVBox();
     $box->pack_start(new GtkLabel('Double click with the mouse on a file, or select by key and press return'), false);
     $paned = new GtkHPaned();
     $paned->set_position(200);
     //filename, markup-filename, fullpath, is_dir, preview image
     $mFile = new GtkListStore(GObject::TYPE_STRING, GObject::TYPE_STRING, GObject::TYPE_STRING, GObject::TYPE_BOOLEAN, GdkPixbuf::gtype);
     $mFile->set_sort_column_id(0, Gtk::SORT_ASCENDING);
     $vFile = new GtkTreeView($mFile);
     $col = new GtkTreeViewColumn('Image', new GtkCellRendererPixbuf(), 'pixbuf', 4);
     $text = new GtkCellRendererText();
     $col->pack_start($text);
     $col->add_attribute($text, 'markup', 1);
     $vFile->append_column($col);
     $vFile->set_headers_visible(false);
     $vFile->connect('key-press-event', array($this, 'onPressFile'));
     $vFile->connect('button-press-event', array($this, 'onPressFile'));
     /*
         GtkIconView has some problems with text that are too long
           and missing icons
             $vFile = new GtkIconView();
             $vFile->set_model($mFile);
             $vFile->set_columns(1);
             $vFile->set_pixbuf_column(3);
             $vFile->set_text_column(0);
             $vFile->set_item_width(100);
     */
     $this->loadFiles($mFile, getcwd());
     $scrwndFiles = new GtkScrolledWindow();
     $scrwndFiles->add($vFile);
     $scrwndFiles->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
     $vboxFile = new GtkVBox();
     $vboxFile->pack_start($scrwndFiles);
     $chkImg = new GtkCheckbutton('Load preview images');
     $chkImg->set_active(true);
     $chkImg->connect('toggled', array($this, 'onCheckPreview'));
     $vboxFile->pack_start($chkImg, false);
     $paned->add1($vboxFile);
     $this->img = new GtkImage();
     $scrwndImg = new GtkScrolledWindow();
     $scrwndImg->add_with_viewport($this->img);
     $scrwndImg->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
     $paned->add2($scrwndImg);
     $box->pack_end($paned);
     return $box;
 }
 public function __construct()
 {
     $this->frame = new GtkFrame();
     $frameBox = new GtkVBox(false, 10);
     $frameBox->set_border_width(10);
     $titleBox = new GtkHBox(false, 10);
     $titleLabel = new GtkLabel("Users");
     $titleLabel->set_markup("<span weight='bold'>Users</span>");
     $titleLabel->set_alignment(0, 0.5);
     $this->statusLabel = new GtkLabel("");
     $this->statusLabel->set_alignment(1, 0.5);
     $titleBox->pack_start($titleLabel, true, true, 0);
     $titleBox->pack_end($this->statusLabel, true, true, 0);
     $frameBox->pack_start($titleBox, false, false, 0);
     $this->frame->add($frameBox);
     $this->userListStore = new GtkRefListStore(Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING);
     $this->userListTree = new GtkRefTreeView($this->userListStore);
     $this->userListTree->set_rules_hint(true);
     $usersWindow = new GtkScrolledWindow();
     $usersWindow->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
     $usersWindow->set_shadow_type(Gtk::SHADOW_ETCHED_IN);
     $usersWindow->add($this->userListTree);
     $frameBox->pack_start($usersWindow, true, true, 0);
     $cols = array('Username', 'First Name', 'Last Name', 'Email', 'Department');
     foreach ($cols as $num => $item) {
         $renderer = new GtkCellRendererText();
         $renderer->set_property("editable", false);
         $column = new GtkTreeViewColumn($item, $renderer, "text", $num);
         $column->set_sort_column_id($num);
         $column->set_expand(true);
         $column->set_resizable(true);
         $this->userListTree->append_column($column);
     }
     $userSelection = $this->userListTree->get_selection();
     $userSelection->set_mode(Gtk::SELECTION_SINGLE);
     $userSelection->connect('changed', array($this, 'isSelected'));
     $this->newButton = new GtkButton("New");
     $this->newButton->connect('clicked', array($this, 'deSelect'));
     $this->delButton = new GtkButton("Delete");
     $this->delButton->set_sensitive(false);
     $this->delButton->connect('clicked', array($this, 'confirmDeletion'));
     $buttonBox = new GtkHBox(false, 8);
     $buttonBox->pack_end($this->newButton, false, false, 0);
     $buttonBox->pack_end($this->delButton, false, false, 0);
     $frameBox->pack_end($buttonBox, false, false, 0);
 }
 /**
  * Make the datagrid scrollable
  */
 public function makeScrollable()
 {
     $this->scrollable = TRUE;
     $children = parent::get_children();
     if ($children) {
         foreach ($children as $child) {
             parent::remove($child);
         }
     }
     $scroll = new GtkScrolledWindow();
     $scroll->add($this->view);
     $scroll->set_size_request(-1, $this->height);
     parent::pack_start($scroll, true, true);
     parent::pack_start($this->action_area, false, false);
     if ($this->height) {
         parent::set_size_request(-1, $this->height);
     }
 }
Exemple #11
0
 /**
  * Class Constructor
  */
 public function __construct()
 {
     $this->types = array();
     $this->columns = array();
     $this->count = 0;
     parent::__construct();
     $this->view = new GtkTreeView();
     $this->model = new GtkListStore();
     $this->view->set_size_request(200, -1);
     $scroll = new GtkScrolledWindow();
     $scroll->add($this->view);
     $this->handler = $this->view->connect_simple('row-activated', array($this, 'onDoubleClick'));
     $this->action_area = new GtkHButtonBox();
     $this->action_area->set_layout(Gtk::BUTTONBOX_START);
     parent::pack_start($scroll, true, true);
     parent::pack_start($this->action_area, false, false);
     parent::set_size_request(-1, 200);
 }
Exemple #12
0
 function __construct($Owner)
 {
     parent::__construct();
     $this->set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
     $this->Owner = $Owner;
     $this->add_with_viewport($this->lista = new GtkVBox());
     $this->lista->set_border_width(5);
     $this->preenche_lista();
 }
Exemple #13
0
 /**
  * Class Constructor
  * @param $type    Type of the message (info, error)
  * @param $message Message to be shown
  * @param $action  Action to be processed when closing the dialog
  */
 public function __construct($type, $message, TAction $action = NULL)
 {
     parent::__construct('', NULL, Gtk::DIALOG_MODAL, array(Gtk::STOCK_OK, Gtk::RESPONSE_OK));
     parent::set_position(Gtk::WIN_POS_CENTER);
     parent::set_size_request(500, 300);
     $textview = new GtkTextView();
     $textview->set_wrap_mode(Gtk::WRAP_WORD);
     $textview->set_border_width(12);
     $textbuffer = $textview->get_buffer();
     $tagtable = $textbuffer->get_tag_table();
     $customTag = new GtkTextTag();
     $tagtable->add($customTag);
     $customTag->set_property('foreground', '#525252');
     $message = "\n   " . str_replace('<br>', "\n   ", $message);
     $tagBegin = $textbuffer->create_mark('tagBegin', $textbuffer->get_end_iter(), true);
     $textbuffer->insert_at_cursor(strip_tags($message));
     $tagEnd = $textbuffer->create_mark('tagEnd', $textbuffer->get_end_iter(), true);
     $start = $textbuffer->get_iter_at_mark($tagBegin);
     $end = $textbuffer->get_iter_at_mark($tagEnd);
     $textbuffer->apply_tag($customTag, $start, $end);
     $textview->set_editable(FALSE);
     $textview->set_cursor_visible(FALSE);
     $pango = new PangoFontDescription('Sans 14');
     $textview->modify_font($pango);
     $image = $type == 'info' ? GtkImage::new_from_stock(Gtk::STOCK_DIALOG_INFO, Gtk::ICON_SIZE_DIALOG) : GtkImage::new_from_stock(Gtk::STOCK_DIALOG_ERROR, Gtk::ICON_SIZE_DIALOG);
     $scroll = new GtkScrolledWindow();
     $scroll->set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_ALWAYS);
     $scroll->add($textview);
     $hbox = new GtkHBox();
     $this->vbox->pack_start($hbox);
     $hbox->pack_start($image, FALSE, FALSE);
     $hbox->pack_start($scroll, TRUE, TRUE);
     $this->show_all();
     parent::connect('key_press_event', array($this, 'onClose'));
     $result = parent::run();
     if ($result == Gtk::RESPONSE_OK) {
         if ($action) {
             $parameters = $action->getParameters();
             call_user_func_array($action->getAction(), array($parameters));
         }
     }
     parent::destroy();
 }
 function __create_box()
 {
     $iv = new GtkIconView();
     $model = new GtkListStore(GdkPixbuf::gtype, GObject::TYPE_STRING);
     $iv->set_model($model);
     $iv->set_columns(1);
     $ids = Gtk::stock_list_ids();
     sort($ids);
     foreach ($ids as $id) {
         $pixbuf = $iv->render_icon($id, Gtk::ICON_SIZE_DIALOG);
         $model->set($model->append(), 0, $pixbuf, 1, $id);
     }
     $iv->set_pixbuf_column(0);
     $iv->set_text_column(1);
     //multi select incl. zooming up an rectangle to select icons
     $iv->set_selection_mode(Gtk::SELECTION_MULTIPLE);
     //labels at the right side
     $iv->set_orientation(Gtk::ORIENTATION_HORIZONTAL);
     //enough place for the text so that it doesn't wrap
     $iv->set_item_width(200);
     //spacing between icon and label
     $iv->set_spacing(0);
     //spacing between single rows
     $iv->set_row_spacing(0);
     //spacing between cols
     //margin from the edges of the view widget -> like the CSS margin property
     $iv->set_margin(5);
     //in how many columns the view will be split
     //Icon order (for 3 columns):
     // 1    2    3
     // 4    5    6
     //FIXME: is there a way to arrange it horizontally so that it's arranged that way:
     // 1    4    7
     // 2    5    8
     // 3    6    9   ?
     //0 is auto-fit
     $iv->set_columns(0);
     $editor = new WidgetEditor($iv, array(array('selection_mode', GtkComboBox::gtype, 'Gtk::SELECTION_'), array('orientation', GtkComboBox::gtype, 'Gtk::ORIENTATION_'), array('item_width', GtkScale::gtype, 0, 500), array('spacing', GtkScale::gtype, -100, 100), array('row_spacing', GtkScale::gtype, -100, 100), array('column_spacing', GtkScale::gtype, -100, 100), array('margin', GtkScale::gtype, -100, 200), array('columns', GtkScale::gtype, 0, 20)));
     $scrollwin = new GtkScrolledWindow();
     $scrollwin->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
     $scrollwin->add($iv);
     return $scrollwin;
 }
 /**
  * Class Constructor
  * @param  $name widget's name
  */
 function __construct($name)
 {
     parent::__construct($name);
     $this->widget = new GtkFrame();
     parent::add($this->widget);
     $this->container = new GtkVBox();
     $this->initialItems = array();
     $this->items = array();
     $targets = array(array('text/plain', 0, -1));
     $this->widget->connect('drag_data_received', array($this, 'onDataReceived'));
     $this->widget->drag_dest_set(Gtk::DEST_DEFAULT_ALL, $targets, Gdk::ACTION_COPY);
     $scroll = new GtkScrolledWindow();
     $scroll->set_border_width(4);
     $this->widget->add($scroll);
     $hbox = new GtkHBox();
     $scroll->add_with_viewport($hbox);
     $hbox->pack_start($this->container, TRUE, TRUE);
     $hbox->set_border_width(20);
     parent::show_all();
 }
Exemple #16
0
function display_table($vbox, $data)
{
    // Set up a scroll window
    $scrolled_win = new GtkScrolledWindow();
    $scrolled_win->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
    $vbox->pack_start($scrolled_win);
    // Creates the list store
    if (defined("GObject::TYPE_STRING")) {
        $model = new GtkListStore(GObject::TYPE_STRING, GObject::TYPE_STRING, GObject::TYPE_LONG, GObject::TYPE_DOUBLE);
        // note 2
    } else {
        $model = new GtkListStore(Gtk::TYPE_STRING, Gtk::TYPE_STRING, Gtk::TYPE_LONG, Gtk::TYPE_DOUBLE);
        // note 2
    }
    $field_header = array('Row #', 'Description', 'Qty', 'Price');
    // note 3
    // Creates the view to display the list store
    $view = new GtkTreeView($model);
    // note 4
    $scrolled_win->add($view);
    // note 5
    // Creates columns
    for ($col = 0; $col < count($field_header); ++$col) {
        $cell_renderer = new GtkCellRendererText();
        $column = new GtkTreeViewColumn($field_header[$col], $cell_renderer, 'text', $col);
        $view->append_column($column);
    }
    // pupulates the data
    for ($row = 0; $row < count($data); ++$row) {
        $values = array();
        for ($col = 0; $col < count($data[$row]); ++$col) {
            $values[] = $data[$row][$col];
        }
        $model->append($values);
        // note 6
    }
}
Exemple #17
0
 function append($page)
 {
     $this->remove_background();
     $page->Parent = $this;
     $page->Owner = $this->Owner;
     // Icone + Rotulo
     $guide = new GtkHBox();
     if ($page->Icon) {
         $guide->pack_start(GtkImage::new_from_file(XMONEY_IMAGES . DIRECTORY_SEPARATOR . $page->Icon), false);
     }
     $guide->pack_start(new GtkLabel(' ' . $page->Title . ' '));
     // Fechar
     $guide->pack_start($close = new GtkButton());
     $close->set_image(GtkImage::new_from_stock(Gtk::STOCK_CLOSE, Gtk::ICON_SIZE_BUTTON));
     $guide->show_all();
     // Guia
     $menu_item = new GtkHBox();
     if ($page->Icon) {
         $menu_item->pack_start(GtkImage::new_from_file(XMONEY_IMAGES . DIRECTORY_SEPARATOR . $page->Icon), false);
     }
     $menu_item->pack_start(new GtkLabel(' ' . $page->Title . ' '));
     $menu_item->show_all();
     $scroll = new GtkScrolledWindow();
     $scroll->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
     $scroll->add_with_viewport($page);
     $scroll->show_all();
     $current = $this->append_page_menu($scroll, $guide, $menu_item);
     $this->set_current_page($current);
     // Close signal
     if ($this->background) {
         $close->connect('clicked', array($this, 'xmoney_close_clicked'), $current);
     } else {
         $close->connect('clicked', array($this, 'close_button'), $current);
     }
     return $current;
 }
Exemple #18
0
 function __construct($Parent)
 {
     parent::__construct();
     $this->set_policy(GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
     $this->Parent = $Parent;
     $this->treeview = new GtkTreeView($this->store);
     $this->treeview->set_enable_search(false);
     $this->treeview->connect('button_press_event', array($this, 'grid_button_press_event'));
     $this->treeview->connect('key_press_event', array($this, 'grid_key_press_event'));
     $this->treeview->show();
     $this->add($this->treeview);
     $i = 0;
     while ($this->colunas[$i][0]) {
         $this->colunas[$i][3] = $this->new_column($this->colunas[$i][0], $this->colunas[$i][1], $this->colunas[$i][2]);
         $i++;
     }
     $this->QtdColunas = $i;
 }
Exemple #19
0
 /**
  * Shows the scroll
  */
 function show()
 {
     parent::show_all();
     $child = parent::get_child()->get_child();
     $child->show();
 }
Exemple #20
0
 /**
  * Create the report text areas.
  *
  * The report area consists of one text area for failures, one
  * text area for errors and one label for identification purposes.
  * All three widgets are packed into a box.
  *
  * @access private
  * @param  none
  * @return &object The box containing the report areas.
  */
 function &_createReportAreas()
 {
     // Create the containing box.
     $reportBox = new GtkVBox();
     // Create the identification label
     $reportLabel = new GtkLabel('Errors and Failures:');
     $reportLabel->set_alignment(0, 0);
     // Create the scrolled windows for the text areas.
     $reportScroll = new GtkScrolledWindow();
     $dumpScroll = new GtkScrolledWindow();
     // Make the scroll areas big enough.
     $reportScroll->set_usize(-1, 150);
     $dumpScroll->set_usize(-1, 150);
     // Only show the vertical scroll bar when needed.
     // Never show the horizontal scroll bar.
     $reportScroll->set_policy(GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
     $dumpScroll->set_policy(GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
     // Create the text areas.
     $this->reportArea = new GtkText();
     $this->dumpArea = new GtkText();
     // Don't let words get broken.
     $this->reportArea->set_word_wrap(true);
     $this->dumpArea->set_word_wrap(true);
     // Pack everything in.
     $reportBox->pack_start($reportLabel);
     $reportScroll->add($this->reportArea);
     $reportBox->pack_start($reportScroll);
     $dumpScroll->add($this->dumpArea);
     $reportBox->pack_start($dumpScroll);
     return $reportBox;
 }
Exemple #21
0
$vbox->pack_start($alignment, 0, 0);
$vbox->pack_start(new GtkLabel(), 0, 0);
$hbox = new GtkHBox();
$hbox->pack_start(new GtkLabel("Search string: "), 0);
$hbox->pack_start($entry = new GtkEntry(), 0);
$hbox->pack_start($button_search = new GtkButton('Search'), 0);
$vbox->pack_start($hbox, 0);
$button_search->connect('clicked', 'on_search_button', $entry);
// note 1
// Create a new buffer and a new view to show the buffer.
$buffer = new GtkTextBuffer();
$view = new GtkTextView();
$view->set_buffer($buffer);
$view->modify_font(new PangoFontDescription("Verdana italic 14"));
$view->set_wrap_mode(Gtk::WRAP_WORD);
$scrolled_win = new GtkScrolledWindow();
$scrolled_win->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
$vbox->pack_start($scrolled_win);
$scrolled_win->add($view);
$window->show_all();
Gtk::main();
function on_search_button($widget, $entry)
{
    global $view, $buffer;
    $search_str = $entry->get_text();
    $start_iter = $buffer->get_start_iter();
    // note 2
    $match_start = $buffer->get_start_iter();
    // note 3
    $match_end = $buffer->get_end_iter();
    // note 4
Exemple #22
0
 /**
  * Define if the widget is editable
  * @param $boolean  A boolean indicating if the widget is editable
  */
 public function setEditable($editable)
 {
     parent::set_sensitive($editable);
 }
 function __create_dbox()
 {
     $vbox = new GtkVBox(false, 5);
     $vbox->set_spacing(2);
     $this->m_ssdata = array();
     for ($i = 0; $i <= 14; $i++) {
         $this->m_ssdata[$i] = array();
         $this->m_ssdata[$i]['Img1'] = GtkImage::new_from_file("./img/11-1.gif");
         $this->m_ssdata[$i]['Img2'] = GtkImage::new_from_file("./img/9.gif");
         $this->m_ssdata[$i]['paned'] = new GtkTable(1, 2, false);
         $this->m_ssdata[$i]['paned']->attach($this->m_ssdata[$i]['Img1'], 0, 1, 1, 2);
         $this->m_ssdata[$i]['paned']->attach($this->m_ssdata[$i]['Img2'], 1, 2, 1, 2);
         $this->m_ssdata[$i]['paned']->set_col_spacings(1);
         $this->m_ssdata[$i]['paned']->set_row_spacings(1);
         //$this->m_ssdata[$i]['paned'] = new GtkHPaned();
         //$this->m_ssdata[$i]['paned']->add1($this->m_ssdata[$i]['Img1']);
         //$this->m_ssdata[$i]['paned']->add2($this->m_ssdata[$i]['Img2']);
         //$this->m_ssdata[$i]['paned']->set_position(45);
         $vbox->pack_start($this->m_ssdata[$i]['paned'], false, false, 0);
         $this->m_ssdata[$i]['name'] = new GtkLabel();
         $this->m_ssdata[$i]['name']->set_markup("Name: \nZacki");
         $vbox->pack_start($this->m_ssdata[$i]['name']);
         $this->m_ssdata[$i]['level'] = new GtkLabel();
         $this->m_ssdata[$i]['level']->set_markup("Level: 70");
         $vbox->pack_start($this->m_ssdata[$i]['level']);
         $this->m_ssdata[$i]['ping'] = new GtkLabel();
         $this->m_ssdata[$i]['ping']->set_markup("Ping: 70");
         $vbox->pack_start($this->m_ssdata[$i]['ping']);
         $this->m_ssdata[$i]['map'] = new GtkLabel();
         $this->m_ssdata[$i]['map']->set_markup("Zone: \nXZ");
         $vbox->pack_start($this->m_ssdata[$i]['map']);
         $this->m_ssdata[$i]['end'] = new GtkLabel();
         $this->m_ssdata[$i]['end']->set_markup("-----");
         $vbox->pack_start($this->m_ssdata[$i]['end']);
     }
     $scrolled = new GtkScrolledWindow();
     $scrolled->add_with_viewport($vbox);
     $scrolled->set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
     $this->m_ssdata_clear();
     return $scrolled;
 }
 public function treeviewLoadXML($file, $mainObject = NULL)
 {
     // Lê o XML
     // @since rev 1
     $xml = new SimpleXMLElement(file_get_contents($file));
     // Cria o frame, o scrool e o treeview
     // @since rev 1
     $treeviewName = (string) $xml['name'];
     $obj['treeview'] = new GtkTreeView();
     $scrolled = new GtkScrolledWindow();
     $scrolled->add($obj['treeview']);
     $obj['object'] = new GtkFrame();
     $obj['object']->add($scrolled);
     // Verifica o modo do scroll horizontal
     // @since rev 1
     switch (strtoupper((string) $xml['hscroll'])) {
         case "TRUE":
             $hscroll = Gtk::POLICY_ALWAYS;
             break;
         case "FALSE":
             $hscroll = Gtk::POLICY_NEVER;
             break;
         case "AUTO":
         default:
             $hscroll = Gtk::POLICY_AUTOMATIC;
             break;
     }
     // Verifica o modo do scroll vertical
     // @since rev 1
     switch (strtoupper((string) $xml['vscroll'])) {
         case "TRUE":
             $vscroll = Gtk::POLICY_ALWAYS;
             break;
         case "FALSE":
             $vscroll = Gtk::POLICY_NEVER;
             break;
         case "AUTO":
         default:
             $vscroll = Gtk::POLICY_AUTOMATIC;
             break;
     }
     // Configura os scrolls
     // @since rev 1
     $scrolled->set_policy($hscroll, $vscroll);
     // Configura o tamanho
     // @since rev 1
     $width = isset($xml['width']) ? (int) $xml['width'] : FALSE;
     $height = isset($xml['height']) ? (int) $xml['height'] : FALSE;
     $scrolled->set_size_request($width, $height);
     // Seta a coluna para a busca
     // @since rev 1
     $searchcolumn = isset($xml['searchcolumn']) ? (int) $xml['searchcolumn'] : 0;
     $obj['treeview']->set_search_column($searchcolumn);
     // Configura a visibilidade do header da coluna
     // @since rev 1
     switch (strtoupper((string) $xml['hvisible'])) {
         case "FALSE":
             $hvisible = FALSE;
             break;
         case "TRUE":
         default:
             $hvisible = TRUE;
             break;
     }
     $obj['treeview']->set_headers_visible($hvisible);
     // Verifica se existe evento button-press-event
     // @since rev 1
     $buttonpressevent = (string) $xml['buttonpressevent'];
     if (strlen($buttonpressevent) > 0) {
         // Verifica se é orientado à objeto
         // @since rev 1
         if ($mainObject != NULL) {
             $function = array($mainObject, $buttonpressevent);
         } else {
             $function = $buttonpressevent;
         }
         $obj['treeview']->connect("button-press-event", $function);
     }
     // Verifica se existe evento cursor-changed
     // @since rev 1
     $cursorchanged = (string) $xml['cursorchanged'];
     if (strlen($cursorchanged) > 0) {
         // Verifica se é orientado à objeto
         // @since rev 1
         if ($mainObject != NULL) {
             $function = array($mainObject, $cursorchanged);
         } else {
             $function = $cursorchanged;
         }
         $obj['treeview']->connect("cursor-changed", $function);
     }
     // Percorre as configurações
     // @since rev 1
     foreach ($xml as $configs) {
         // Verifica o tipo de configuração
         // @since rev 1
         if ($configs->getName() == "columns") {
             // Percorre as colunas
             // @since rev 1
             $counter = 0;
             $columnModel = array();
             foreach ($configs as $column) {
                 // Busca as configurações
                 $title = (string) $column['title'];
                 $visible = (string) $column['visible'];
                 // Cria a coluna
                 // @since rev 1
                 $modelType = Gobject::TYPE_STRING;
                 if (strtoupper($visible) != "FALSE") {
                     // Verifica o tipo e o render
                     // @since rev 1
                     switch (strtoupper((string) $column['type'])) {
                         // Toggle
                         // @since rev 1
                         case "TOGGLE":
                             // Cria o render
                             // @since rev 1
                             $render = new GtkCellRendererToggle();
                             $render->set_property("activatable", TRUE);
                             // Verifica se deve usar o autocheck
                             // @since rev 1
                             switch (strtoupper((string) $column['autocheck'])) {
                                 case "FALSE":
                                     break;
                                 case "TRUE":
                                 default:
                                     $render->connect("toggled", array("FTreeViews", "on_toggle"), $obj['treeview'], $counter);
                                     break;
                             }
                             // Verifica se existe evento onclick da coluna
                             // @since rev 1
                             $onclick = (string) $column['onclick'];
                             if (strlen($onclick) > 0) {
                                 // Verifica se é orientado à objeto
                                 // @since rev 1
                                 if ($mainObject != NULL) {
                                     $function = array($mainObject, $onclick);
                                 } else {
                                     $function = $onclick;
                                 }
                                 $render->connect("toggled", $function, $obj['treeview'], $counter);
                             }
                             // Armazena o atributo e o model
                             // @since rev 1
                             $attribute = "active";
                             $modelType = Gobject::TYPE_BOOLEAN;
                             break;
                             // Texto
                             // @since rev 1
                         // Texto
                         // @since rev 1
                         case "TEXT":
                         default:
                             $render = new GtkCellRendererText();
                             // Verifica se a coluna é editavel
                             // @since rev 1
                             switch (strtoupper((string) $column['editable'])) {
                                 case "TRUE":
                                     $render->set_property("editable", TRUE);
                                     break;
                                 case "FALSE":
                                 default:
                                     break;
                             }
                             // Verifica se existe sinal para edição
                             // @since rev 1
                             $onedited = (string) $column['onedited'];
                             if (strlen($onedited) > 0) {
                                 // Verifica se é orientado à objeto
                                 // @since rev 1
                                 if ($mainObject != NULL) {
                                     $function = array($mainObject, $onedited);
                                 } else {
                                     $function = $onedited;
                                 }
                                 $render->connect("edited", $function, $obj['treeview'], $counter);
                             }
                             $attribute = "text";
                             $modelType = Gobject::TYPE_STRING;
                     }
                     // Cria a coluna
                     // @since rev 1
                     $trvColumn = new GtkTreeViewColumn($title, $render, $attribute, $counter);
                     $obj['treeview']->append_column($trvColumn);
                     // Verifica se existe parametrização do tamanho
                     // @since rev 1
                     if (isset($column['width'])) {
                         $trvColumn->set_fixed_width((int) $column['width']);
                         $trvColumn->set_sizing(Gtk::TREE_VIEW_COLUMN_FIXED);
                     }
                     // Verifica se existe parametrização da formatação
                     if (isset($column['onformat'])) {
                         $onformat = (string) $column['onformat'];
                         // Verifica se é orientado à objeto
                         if ($mainObject != NULL) {
                             $function = array($mainObject, $onformat);
                         } else {
                             $function = $onformat;
                         }
                         $trvColumn->set_cell_data_func($render, $function, $counter);
                     }
                 }
                 // Armazena o model
                 // @since rev 1
                 $columnModel[$counter++] = $modelType;
             }
             // Seta o model
             // @since rev 1
             $model = new GtkTreeStore();
             $model->set_column_types($columnModel);
             $obj['treeview']->set_model($model);
         }
     }
     return $obj;
 }
Exemple #25
0
$box = new GtkVBox(false, 10);
$box->set_border_width(10);
/*
 * Create a list widget and populate it with month names.
 */
$list = new GtkList();
$list->set_selection_mode(GTK_SELECTION_BROWSE);
foreach (range(1, 12) as $month_num) {
    $items[] = new GtkListItem(strftime('%B', mktime(0, 0, 0, $month_num)));
}
$list->append_items($items);
/*
 * Create a scrolled window and add the list widget to it - this provides
 * automatic scrollbars.
 */
$scrolled_window = new GtkScrolledWindow();
$scrolled_window->set_policy(GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
$scrolled_window->add_with_viewport($list);
/*
 * Add scrolled window and button to the vertical layout box.
 */
$box->pack_start($scrolled_window);
$box->pack_start($button, false);
/*
 * Add layout box to the window, set window attributes and show everything.
 */
$window->add($box);
$window->set_title('PHP Rules!');
$window->set_name('MainWindow');
$window->set_usize(150, 200);
$window->show_all();
 function __construct($Parent, $InfoLinha)
 {
     parent::__construct('Contas a Receber - Baixar', 800, 480, 'contas_receber.png');
     $this->Parent = $Parent;
     $this->InfoLinha = $InfoLinha;
     // info
     $this->pack_start($hbox = new GtkHBox(), false);
     $hbox->pack_start(GtkImage::new_from_stock(Gtk::STOCK_GO_DOWN, Gtk::ICON_SIZE_DIALOG), false);
     $hbox->pack_start($label = new GtkLabel(), false);
     $label->set_markup('<b> Todos os totais devem estar preenchidos! </b>');
     $hbox->pack_start($frame = new GtkFrame(latin1(' Informações ')));
     $frame->add($vbox = new GtkVBox());
     $vbox->set_border_width(5);
     // banco
     $vbox->pack_start($this->banco = new TBancos($this));
     // tipo de despesa
     $vbox->pack_start($this->despesa = new TTipoDespesa($this));
     // forma pgto
     $vbox->pack_start($this->forma_pgto = new TFormaPgto($this));
     // Contas
     $this->pack_start($frame = new GtkFrame(' Contas a Receber '));
     $frame->add($scroll = new GtkScrolledWindow());
     $scroll->set_border_width(5);
     $scroll->set_policy(GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
     $scroll->add_with_viewport($vbox = new GtkVBox());
     $vbox->pack_start($this->lista = new GtkTable(count($InfoLinha) + 1, 8, false), false);
     $this->lista->attach($label = new GtkLabel(), 0, 1, 0, 1);
     $label->set_markup('<b>Id</b>');
     $this->lista->attach($label = new GtkLabel(), 1, 2, 0, 1);
     $label->set_markup('<b>Fornecedor</b>');
     $this->lista->attach($label = new GtkLabel(), 2, 3, 0, 1);
     $label->set_markup('<b>Num. do Doc.</b>');
     $this->lista->attach($label = new GtkLabel(), 3, 4, 0, 1);
     $label->set_markup('<b>Valor em R$</b>');
     $this->lista->attach($label = new GtkLabel(), 4, 5, 0, 1);
     $label->set_markup('<b>Juros em R$</b>');
     $this->lista->attach($label = new GtkLabel(), 5, 6, 0, 1);
     $label->set_markup('<b>Desconto em R$</b>');
     $this->lista->attach($label = new GtkLabel(), 6, 7, 0, 1);
     $label->set_markup('<b>Total em R$</b>');
     $this->lista->attach($label = new GtkLabel(), 7, 8, 0, 1);
     $label->set_markup('<b>' . latin1('Anotações') . '</b>');
     $vbox->pack_start(new GtkEventBox());
     // Valores R$
     $this->pack_start($frame = new GtkFrame(' Valores em R$ '), false);
     $frame->add($vbox = new GtkVBox());
     // Valor das Contas
     $vbox->pack_start($this->lbl_valor_contas = new GtkLabel());
     // Valor dos Juros
     $vbox->pack_start($this->lbl_valor_juros = new GtkLabel());
     // Valor das Descontos
     $vbox->pack_start($this->lbl_valor_descontos = new GtkLabel());
     // ok
     $this->pack_start($hbbox = new GtkHButtonBox(), false);
     $hbbox->set_layout(Gtk::BUTTONBOX_END);
     $hbbox->pack_start($this->ok = GtkButton::new_from_stock('gtk-ok'), false);
     $this->ok->connect('clicked', array($this, 'ok_clicked'));
     // cancelar
     $hbbox->pack_start($this->cancelar = GtkButton::new_from_stock('gtk-cancel'), false);
     $this->cancelar->connect('clicked', array($this, 'cancelar_clicked'));
     $this->cancelar->add_accelerator('clicked', $this->accel_group, Gdk::KEY_Escape, 0, 0);
     $this->children_show_all();
 }
function uprav_behy()
{
    global $G, $model, $view;
    #debug_log('úprava behov');
    $dialog = new GtkDialog();
    // note 1
    $viewport1 = new GtkViewPort();
    $dialog->set_title('Behy');
    $dialog->set_position(GTK::WIN_POS_CENTER);
    $dialog->set_default_size(960, 420);
    $model = new GtkListStore(Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING, Gobject::TYPE_STRING);
    #datum
    #nazov
    #druh (OA, OJ, A1, A2, A3, J1, J2, J3)
    #rozhodca
    #$rozhodcovia=explode(",",$G["config"]->__get("rozhodca"));
    $view = new GtkTreeView($model);
    #	$view->set_grid_lines(Gtk::TREE_VIEW_GRID_LINES_BOTH);
    $column1 = new GtkTreeViewColumn('Kód');
    $column2 = new GtkTreeViewColumn('Názov');
    $column3 = new GtkTreeViewColumn('Filter');
    $column4 = new GtkTreeViewColumn('Dátum');
    $column5 = new GtkTreeViewColumn('Rozhodca');
    $column6 = new GtkTreeViewColumn('Dĺžka');
    $column7 = new GtkTreeViewColumn('Prekážky');
    $column8 = new GtkTreeViewColumn('Štd.č');
    $column9 = new GtkTreeViewColumn('Max.č');
    $view->append_column($column1);
    $view->append_column($column2);
    $view->append_column($column3);
    $view->append_column($column4);
    $view->append_column($column5);
    $view->append_column($column6);
    $view->append_column($column7);
    $view->append_column($column8);
    $view->append_column($column9);
    $cell_renderer1 = new GtkCellRendererText();
    $cell_renderer2 = new GtkCellRendererText();
    $cell_renderer3 = new GtkCellRendererText();
    $cell_renderer4 = new GtkCellRendererText();
    $cell_renderer5 = new GtkCellRendererText();
    $cell_renderer6 = new GtkCellRendererText();
    $cell_renderer7 = new GtkCellRendererText();
    $cell_renderer8 = new GtkCellRendererText();
    $cell_renderer9 = new GtkCellRendererText();
    $cell_renderer1->set_property('width', 60);
    $cell_renderer1->set_property('editable', true);
    $cell_renderer2->set_property('width', 220);
    $cell_renderer2->set_property('editable', true);
    $cell_renderer3->set_property('width', 50);
    $cell_renderer3->set_property('editable', true);
    $cell_renderer4->set_property('width', 80);
    $cell_renderer4->set_property('editable', true);
    $cell_renderer5->set_property('width', 180);
    $cell_renderer5->set_property('editable', true);
    $cell_renderer6->set_property('width', 50);
    $cell_renderer6->set_property('editable', true);
    $cell_renderer7->set_property('width', 50);
    $cell_renderer7->set_property('editable', true);
    $cell_renderer8->set_property('width', 50);
    $cell_renderer8->set_property('editable', true);
    $cell_renderer9->set_property('width', 50);
    $cell_renderer9->set_property('editable', true);
    $cell_renderer1->connect('edited', 'callback_start1');
    $cell_renderer2->connect('edited', 'callback_start2');
    $cell_renderer3->connect('edited', 'callback_start3');
    $cell_renderer4->connect('edited', 'callback_start4');
    $cell_renderer5->connect('edited', 'callback_start5');
    $cell_renderer6->connect('edited', 'callback_start6');
    $cell_renderer7->connect('edited', 'callback_start7');
    $cell_renderer8->connect('edited', 'callback_start8');
    $cell_renderer9->connect('edited', 'callback_start9');
    #$cell_renderer3->set_property('width', -1);
    $column1->pack_start($cell_renderer1, true);
    $column2->pack_start($cell_renderer2, true);
    $column3->pack_start($cell_renderer3, true);
    $column4->pack_start($cell_renderer4, true);
    $column5->pack_start($cell_renderer5, true);
    $column6->pack_start($cell_renderer6, true);
    $column7->pack_start($cell_renderer7, true);
    $column8->pack_start($cell_renderer8, true);
    $column9->pack_start($cell_renderer9, true);
    $column1->set_attributes($cell_renderer1, 'text', 0);
    $column2->set_attributes($cell_renderer2, 'text', 1);
    $column3->set_attributes($cell_renderer3, 'text', 2);
    $column4->set_attributes($cell_renderer4, 'text', 3);
    $column5->set_attributes($cell_renderer5, 'text', 4);
    $column6->set_attributes($cell_renderer6, 'text', 5);
    $column7->set_attributes($cell_renderer7, 'text', 6);
    $column8->set_attributes($cell_renderer8, 'text', 7);
    $column9->set_attributes($cell_renderer9, 'text', 8);
    #print_r($G["behy"]);exit;
    foreach ($G["behy"] as $b) {
        $model->append($b);
    }
    $toolbar = new GtkHButtonBox();
    $addbutton = GtkButton::new_from_stock(Gtk::STOCK_ADD);
    $deletebutton = GtkButton::new_from_stock(Gtk::STOCK_DELETE);
    #$loadbutton=GtkButton::new_from_stock(Gtk::STOCK_REFRESH);
    $savebutton = GtkButton::new_from_stock(Gtk::STOCK_SAVE);
    $savebutton->connect("pressed", "uloz_behy");
    $addbutton->connect("pressed", "pridaj_beh");
    $deletebutton->connect("pressed", "vymaz_beh");
    $toolbar->add($addbutton);
    $toolbar->add($deletebutton);
    #$toolbar->add($loadbutton);
    $toolbar->add($savebutton);
    $toolbar->set_size_request(0, 40);
    $sw = new GtkScrolledWindow();
    $sw->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
    $sw->add($view);
    $sw->set_size_request(-1, 560);
    $vbox = new GtkVBox();
    $vbox->add($toolbar);
    $vbox->add($sw);
    $dialog->vbox->pack_start($vbox);
    // note 3
    $dialog->show_all();
    // note 4
    $dialog->run();
    // note 5
    $dialog->destroy();
    // note 6
}
 function __create_text()
 {
     $scrolled_window = new GtkScrolledWindow();
     $scrolled_window->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
     $scrolled_window->set_shadow_type(Gtk::SHADOW_IN);
     $text_view = new GtkTextView();
     $scrolled_window->add($text_view);
     $this->description_buffer = new GtkTextBuffer();
     $text_view->set_buffer($this->description_buffer);
     $text_view->set_editable(false);
     $text_view->set_cursor_visible(false);
     $text_view->set_wrap_mode(Gtk::WRAP_WORD);
     return $scrolled_window;
 }