Ejemplo n.º 1
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);
     $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();
 }
 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);
 }
Ejemplo n.º 3
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();
 }
 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);
 }
Ejemplo n.º 5
0
 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;
 }