| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | <?php/** *  *//** * Auto-loading Glade window */class Glade_Window  {  /**   * The top widget. It does not have to be   * a top-level object if this is loaded   * within another UI   *   * @var GtkWidget   */  public $top;     /**   * @var GladeXML   */  protected $glade;    /**   * Load the fixed structure for the actual class invoking the constructor   *    * @param void   * @return void   */  public function __construct($topName = 'top')    {    $uiDescriptionFileName = get_class($this) . '.glade';    try      {      $this->glade = new GladeXML($uiDescriptionFileName);      $this->glade->signal_autoconnect_instance($this);      $this->top = $this->glade->get_widget($topName);      }    catch (Exception $e)      {      echo "Glade_Windows/__construct(): " . $e->getMessage();      die();      }    }      /**   * callback wrapper around Gtk::main_quit() for Glade   */  public function quit()    {    Gtk::main_quit();    }     /**   * A utility callback for views inherited from this class: it   * enables automatic alternate row colors   *   * @param GtkCellLayout $cell_layout   * @param GtkCellRenderer $cell   * @param GtkTreeModel $tree_model   * @param GtkTreeIter $iter   * @return void   */  static public function zebraTreeViewCallback(GtkCellLayout $cell_layout, GtkCellRenderer $cell, GtkTreeModel $tree_model, GtkTreeIter $iter /* [, user_data] */)    {    $path = $tree_model->get_path($iter);    $cell->set_property('cell-background', ($path[0] % 2) ?'#d0d0d0' : '#ffffff');    }  }
 |