Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 private function window()
 {
     //create window
     $this->set_title("calculator GUI");
     $this->set_default_size(350, 350);
     $this->connect_simple('destroy', array('gtk', 'main_quit'));
     //create vbox
     $vbox = new GtkVBox();
     //create entry box
     $this->entry = new GtkEntry();
     $this->entry->set_size_request(100, 100);
     //create button
     $btn1 = new GtkButton();
     $btn2 = new GtkButton();
     $btn3 = new GtkButton();
     $btnsin = new GtkButton();
     $btncos = new GtkButton();
     $btn4 = new GtkButton();
     $btn5 = new GtkButton();
     $btn6 = new GtkButton();
     $btnt2 = new GtkButton();
     $btnrad = new GtkButton();
     $btn7 = new GtkButton();
     $btn8 = new GtkButton();
     $btn9 = new GtkButton();
     $btn0 = new GtkButton();
     $btndot = new GtkButton();
     $btnpercent = new GtkButton();
     $btnplus = new GtkButton();
     $btntan = new GtkButton();
     $btncot = new GtkButton();
     $btnminus = new GtkButton();
     $btndiv = new GtkButton();
     $btnmulti = new GtkButton();
     $btnequal = new GtkButton();
     $btnref = GtkButton::new_from_stock(Gtk::STOCK_REFRESH);
     $btnback = GtkButton::new_from_stock(Gtk::STOCK_CLEAR);
     //set button value
     $btn1->set_label('1');
     $btn1->connect('clicked', array($this, 'click1'));
     $btn2->set_label('2');
     $btn2->connect('clicked', array($this, 'click2'));
     $btn3->set_label('3');
     $btn3->connect('clicked', array($this, 'click3'));
     $btn4->set_label('4');
     $btn4->connect('clicked', array($this, 'click4'));
     $btn5->set_label('5');
     $btn5->connect('clicked', array($this, 'click5'));
     $btn6->set_label('6');
     $btn6->connect('clicked', array($this, 'click6'));
     $btn7->set_label('7');
     $btn7->connect('clicked', array($this, 'click7'));
     $btn8->set_label('8');
     $btn8->connect('clicked', array($this, 'click8'));
     $btn9->set_label('9');
     $btn9->connect('clicked', array($this, 'click9'));
     $btn0->set_label('0');
     $btn0->connect('clicked', array($this, 'click0'));
     $btndot->set_label('.');
     $btndot->connect('clicked', array($this, 'clickdot'));
     $btnpercent->set_label('%');
     $btnpercent->connect('clicked', array($this, 'clickpercent'));
     $btnplus->set_label('+');
     $btnplus->connect('clicked', array($this, 'clickplus'));
     $btnminus->set_label('-');
     $btnminus->connect('clicked', array($this, 'clickminus'));
     $btndiv->set_label('/');
     $btndiv->connect('clicked', array($this, 'clickdiv'));
     $btnmulti->set_label('*');
     $btnmulti->connect('clicked', array($this, 'clickmulti'));
     $btnequal->set_label('=');
     $btnequal->connect('clicked', array($this, 'clickequal'));
     $btnt2->set_label('^2');
     //$btnt2->connect('clicked',array($this,'clickt2'));
     //$btnrad->set_label('v--');
     $btnrad->connect('clicked', array($this, 'clickrad'));
     $btnsin->set_label('sin');
     $btnsin->connect('clicked', array($this, 'clicksin'));
     $btncos->set_label('cos');
     $btncos->connect('clicked', array($this, 'clickcos'));
     $btntan->set_label('tan');
     $btntan->connect('clicked', array($this, 'clicktan'));
     $btncot->set_label('cot');
     $btncot->connect('clicked', array($this, 'clickcot'));
     //create table
     $tbl = new GtkTable(4, 6, true);
     //set button on table
     $tbl->attach($btn7, 0, 1, 0, 1);
     $tbl->attach($btn8, 1, 2, 0, 1);
     $tbl->attach($btn9, 2, 3, 0, 1);
     $tbl->attach($btnmulti, 3, 4, 0, 1);
     $tbl->attach($btnref, 4, 5, 0, 1);
     $tbl->attach($btnback, 5, 6, 0, 1);
     $tbl->attach($btn4, 0, 1, 1, 2);
     $tbl->attach($btn5, 1, 2, 1, 2);
     $tbl->attach($btn6, 2, 3, 1, 2);
     $tbl->attach($btndiv, 3, 4, 1, 2);
     $tbl->attach($btnpercent, 4, 5, 1, 2);
     $tbl->attach($btnt2, 5, 6, 1, 2);
     $tbl->attach($btn1, 0, 1, 2, 3);
     $tbl->attach($btn2, 1, 2, 2, 3);
     $tbl->attach($btn3, 2, 3, 2, 3);
     $tbl->attach($btnminus, 3, 4, 2, 3);
     $tbl->attach($btnsin, 4, 5, 2, 3);
     $tbl->attach($btncos, 5, 6, 2, 3);
     $tbl->attach($btn0, 0, 1, 3, 4);
     $tbl->attach($btndot, 1, 2, 3, 4);
     $tbl->attach($btnequal, 2, 3, 3, 4);
     $tbl->attach($btnplus, 3, 4, 3, 4);
     $tbl->attach($btntan, 4, 5, 3, 4);
     $tbl->attach($btncot, 5, 6, 3, 4);
     //add to vbox
     $vbox->pack_start($this->entry, true, true, 0);
     $vbox->pack_end($tbl, true, true, 0);
     //add to window
     $this->add($vbox);
     $this->show_all();
 }