Example #1
0
    private void fillComboBox()
    {
        CellRenderer cellRenderer = new CellRendererText();
        comboBox.PackStart(cellRenderer, false); //expand=false
        comboBox.AddAttribute (cellRenderer, "text", 1);

        ListStore listStore = new ListStore(typeof(string), typeof(string));

        comboBox.Model = listStore;

        string connectionString = "Server=localhost;Database=PruebaBD;User Id=ximo;Password=admin";
        IDbConnection dbConnection = new NpgsqlConnection(connectionString);
        dbConnection.Open ();

        IDbCommand dbCommand = dbConnection.CreateCommand();
        dbCommand.CommandText = "select id, nombre from categoria";

        IDataReader dataReader = dbCommand.ExecuteReader();

        while (dataReader.Read ())
            listStore.AppendValues (dataReader["id"].ToString (), dataReader["nombre"].ToString () );

        dataReader.Close ();

        dbConnection.Close ();
    }
Example #2
0
    private void fillComboBox()
    {
        CellRenderer cellRenderer = new CellRendererText();
        comboBox.PackStart(cellRenderer, false); //expand:false
        comboBox.AddAttribute(cellRenderer, "text", 0);

        CellRenderer cellRenderer2 = new CellRendererText();
        comboBox.PackStart(cellRenderer2, false); //expand:false
        comboBox.AddAttribute(cellRenderer2, "text", 1);

        ListStore listStore = new ListStore(typeof(string),typeof(string));

        string connectionString = "Server=localhost;Database=dbprueba2;User Id=dbprueba; Password=sistemas;";
        IDbConnection dbConnection = new NpgsqlConnection(connectionString);
        dbConnection.Open();

        IDbCommand dbCommand = dbConnection.CreateCommand();
        dbCommand.CommandText = "SELECT id, nombre FROM categoria";

        IDataReader dataReader = dbCommand.ExecuteReader();

        while(dataReader.Read()) {
            listStore.AppendValues(dataReader["id"].ToString(),dataReader["nombre"].ToString());
        }

        comboBox.Model = listStore;

        dataReader.Close();
        dbConnection.Close();
    }
 private void AddStoragePoolInTreeView(string storagePoolName)
 {
     StoragePoolListStore.AppendValues(storagePoolName);
     CellRendererText crtStoragePoolCell = new CellRendererText();
     tvcStoragePools.PackStart(crtStoragePoolCell, true);
     tvcStoragePools.AddAttribute(crtStoragePoolCell, "text", 0);
 }
    public LayerListWidget(Application application)
    {
        this.application = application;
        RowSeparatorFunc = OurRowSeparatorFunc;
        ButtonPressEvent += OnButtonPressed;

        VisibilityRenderer visibilityRenderer = new VisibilityRenderer();
        visibilityRenderer.VisibilityChanged += OnVisibilityChange;
        TreeViewColumn visibilityColumn = new TreeViewColumn("Visibility",
                                                             visibilityRenderer);
        visibilityColumn.SetCellDataFunc(visibilityRenderer, (TreeCellDataFunc)VisibilityDataFunc);
        AppendColumn(visibilityColumn);

        CellRendererText TextRenderer = new CellRendererText();
        TreeViewColumn TypeColumn = new TreeViewColumn();
        TypeColumn.PackStart(TextRenderer, true);
        TypeColumn.SetCellDataFunc(TextRenderer, (TreeCellDataFunc)TextDataFunc);
        TypeColumn.Title = "Type";
        AppendColumn(TypeColumn);

        HeadersVisible = false;

        application.SectorChanged += OnSectorChanged;
        application.TilemapChanged += OnTilemapChanged;
        application.LevelChanged += OnLevelChanged;

        FieldOrProperty.AnyFieldChanged += OnFieldModified;
    }
Example #5
0
	public ImageInfo () : base (null, null)
	{
		store = new TreeStore ((int)TypeFundamentals.TypeString,
				       (int)TypeFundamentals.TypeString);
		
		tv = new TreeView (store);
		tv.HeadersVisible = true;

		TreeViewColumn NameCol = new TreeViewColumn ();
		CellRenderer NameRenderer = new CellRendererText ();

		NameCol.Title = "Name";
		NameCol.PackStart (NameRenderer, true);
		NameCol.AddAttribute (NameRenderer, "markup", 0);
		tv.AppendColumn (NameCol);

		TreeViewColumn ValueCol = new TreeViewColumn ();
		CellRenderer ValueRenderer = new CellRendererText ();
		ValueCol.Title = "Value";
		ValueCol.PackStart (ValueRenderer, false);
		ValueCol.AddAttribute (ValueRenderer, "text", 1);
		tv.AppendColumn (ValueCol);

		//
		// Populate tree
		//

		TreeIter iter = new TreeIter ();
		PopulateGeneral (out iter);
		PopulateDetails (out iter);
		Add (tv);
	}
Example #6
0
    //Modelo de funcionamiento
    //1º Referencias (System data y Npgsql)
    //2º Diseñador
    //3º picar codigo
    private void fillComboBox()
    {
        CellRendererText cellRenderer = new CellRendererText();
        comboBox.PackStart(cellRenderer,false); //expand = false
        comboBox.AddAttribute(cellRenderer,"text", 1);

        ListStore liststore = new ListStore(typeof(string), typeof(string));

        comboBox.Model=liststore;

        //Atacamos a la base de datos para conectarnos
        string connectionString="Server=localhost; Database=dbprueba; User Id=dbprueba; password=1234";
        IDbConnection dbConnection = new NpgsqlConnection(connectionString);
        dbConnection.Open();

        IDbCommand dbCommand = dbConnection.CreateCommand();
        dbCommand.CommandText="select id, nombre from categoria";

        IDataReader dataReader = dbCommand.ExecuteReader();

        while(dataReader.Read()){

            liststore.AppendValues(dataReader("id").ToString(), dataReader("nombre").ToString());
        }

        dataReader.Close ();
        dbConnection.Close();
    }
    private void SetupTreeView()
    {
        {
            var column = new TreeViewColumn();
            var cell = new CellRendererText();
            column.Title = "Customer ID";
            column.PackStart(cell, true);
            column.AddAttribute(cell, "text", (int)Column.CustomerID);
            this.treeview1.AppendColumn(column);
        }

        {
            var column = new TreeViewColumn();
            var cell = new CellRendererText();
            column.Title = "First Name";
            column.PackStart(cell, true);
            column.AddAttribute(cell, "text", (int)Column.FirstName);
            this.treeview1.AppendColumn(column);
        }

        {
            var column = new TreeViewColumn();
            var cell = new CellRendererText();
            column.Title = "Last Name";
            column.PackStart(cell, true);
            column.AddAttribute(cell, "text", (int)Column.LastName);
            this.treeview1.AppendColumn(column);
        }

        this.treeStore1 = (TreeStore)this.SetupTreeViewModel();

        this.treeview1.Model = this.treeStore1;
        this.treeview1.ExpandAll();
    }
Example #8
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        //comboBox.Active = 0; -> Para establecer como predeterminado un item del combo
        CellRenderer  cellRenderer = new CellRendererText();
        comboBox.PackStart(cellRenderer, false); //expand = false
        comboBox.AddAttribute(cellRenderer, "text", 0);

        CellRenderer  cellRenderer2 = new CellRendererText();
        comboBox.PackStart(cellRenderer2, false); //expand = false
        comboBox.AddAttribute(cellRenderer2, "text", 1);

        listStore = new ListStore(typeof(string), typeof(string));
        comboBox.Model = listStore;

        listStore.AppendValues("1", "uno");
        listStore.AppendValues("2", "dos");

        comboBox.Changed += comboBoxChanged;

        comboBox.Changed += delegate {showItemSelected(listStore);};

        comboBox.Changed += delegate {
            Console.WriteLine("Evento activado");
            TreeIter treeIter;
            if (comboBox.GetActiveIter(out treeIter) ){ // item seleccionado.
                object value =listStore.GetValue(treeIter, 0);
                Console.WriteLine("ComboBox.changed id={0}", value);
            }
        };
    }
    private void SetupTreeView()
    {
        {
            var cell = new CellRendererText();
            var column = new TreeViewColumn("Customer ID", cell, "text", (int)Column.CustomerID);
            column.SortColumnId = (int)Column.CustomerID;
            this.treeview1.AppendColumn(column);
        }

        {
            var cell = new CellRendererText();
            var column = new TreeViewColumn("First Name", cell, "text", (int)Column.FirstName);
            column.SortColumnId = (int)Column.FirstName;
            this.treeview1.AppendColumn(column);
        }

        {
            var cell = new CellRendererText();
            var column = new TreeViewColumn("Last Name", cell, "text", (int)Column.LastName);
            column.SortColumnId = (int)Column.LastName;
            this.treeview1.AppendColumn(column);
        }

        this.store = this.SetupTreeViewModel();
        this.treeview1.Model = this.store;
        this.treeview1.RulesHint = true;
    }
            private void SetupTree()
            {
                tree = new TreeView ();
                this.store = new ListStore (typeof (object));
                tree.Model = store;

                TreeViewColumn col = new TreeViewColumn ();
                col.Sizing = TreeViewColumnSizing.Fixed;
                col.Spacing = 4;

                CellRendererText text_renderer =
                    new CellRendererText ();
                text_renderer.WrapMode = Pango.WrapMode.Word;
                col.PackStart (text_renderer, true);
                col.SetCellDataFunc (text_renderer,
                             new
                             TreeCellDataFunc
                             (PluginInfoCellDataFunc));

                CellRendererToggle loaded_renderer =
                    new CellRendererToggle ();
                loaded_renderer.Activatable = false;
                col.PackStart (loaded_renderer, false);
                col.SetCellDataFunc (loaded_renderer,
                             new
                             TreeCellDataFunc
                             (LoadedStatusCellDataFunc));

                col.Title = Catalog.GetString("Plugins Details");
                tree.AppendColumn (col);
            }
	void AddColumn (string title, int counter, ref TreeView table)
	{
		TreeViewColumn column = new TreeViewColumn { Title = title };
		CellRenderer renderer = new CellRendererText ();
		column.PackStart (renderer, true);
		table.AppendColumn (column);
		column.AddAttribute (renderer, "text", counter);
	}
Example #12
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        //		MyFunction f;
        //
        //		MyFunction[] functions = new MyFunction[]{suma, resta, multiplica};
        //
        //		int random = new Random().Next(3);
        //		f= functions[random];
        //
        //		Console.WriteLine("f={0}", f(5,3));

        treeView.Selection.Mode=SelectionMode.Multiple;

        treeView.AppendColumn("Columna uno", new CellRendererText(), "text",0);
        treeView.AppendColumn("Columna dos", new CellRendererText(), "text",1);

        CellRenderer cellRenderer = new CellRendererText();
        comboBox.PackStart(cellRenderer, false); //expand = false
        comboBox.AddAttribute (cellRenderer, "text", 0);

        CellRenderer cellRenderer2 = new CellRendererText();
        comboBox.PackStart(cellRenderer2, false); //expand = false
        comboBox.AddAttribute (cellRenderer2, "text", 1);

        listStore = new ListStore (typeof(string), typeof(string));
        comboBox.Model = listStore;
        treeView.Model = listStore;

        listStore.AppendValues("1", "Uno");
        listStore.AppendValues("2", "Dos");

        treeView.Selection.Changed+=delegate{
            int count = treeView.Selection.CountSelectedRows();
            Console.WriteLine("treeView.Selection.Changed CountSelectedRows={0}" + count);

            treeView.Selection.SelectedForeach(delegate(TreeModel model, TreePath path, TreeIter iter){
                object value = listStore.GetValue(iter, 0);
                Console.WriteLine("value={0}", value);
        });
        };

        //		comboBox.Changed += delegate {
        //			TreeIter treeIter;
        //			if(comboBox.GetActiveIter(out treeIter)){ //Item seleccionado
        //				object value = listStore.GetValue (treeIter, 0);
        //				Console.WriteLine("comboBoxChanged value={0}", value);
        //			}
        //		};
        comboBox.Changed += comboBoxChanged;

        //comboBox.Changed += delegate {showActiveItem (listStore); };
    }
    public TilegroupSelector(Application application, TileListWidget tileList)
    {
        this.tileList = tileList;
        application.LevelChanged += OnLevelChanged;

        CellRendererText renderer = new CellRendererText();
        PackStart(renderer, false);
        SetCellDataFunc(renderer, TextDataFunc);

        Changed += OnTileGroupChosen;
    }
Example #14
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        QuerryResult result = PersisterHelper.Get ("select * from articulo");

        Console.WriteLine ("MainWindow ctor.");

        IDbConnection connection = App.Instance.DBConnection;
        IDbCommand command = connection.CreateCommand ();
        command.CommandText = "select * from articulo";

        IDataReader reader = command.ExecuteReader ();

        string[] nombres = GetColumnas (reader);
        CellRendererText cellText = new CellRendererText ();
        for (int i =0; i < nombres.Length; i++) {
            int columna = i;
            treeview.AppendColumn (nombres[i], cellText,
                   delegate(TreeViewColumn tree_colum, CellRenderer cell, TreeModel tree_model, TreeIter iter){
                        IList row =(IList)tree_model.GetValue(iter,0);
                        cellText.Text = row[columna].ToString();
            });
        }
        ListStore list = new ListStore (typeof(IList));

        while (reader.Read()) {
            IList values = getValues (reader);
            list.AppendValues (values);
        }

        /*
        Type[] types = new Type[reader.FieldCount];
        for (int i =0; i< reader.FieldCount; i++) {
            treeview.AppendColumn (reader.GetName (i), new CellRendererText (), "text", i);
            types [i] = typeof(String);
        }
        ListStore list = new ListStore (types);

        string[] listaNombres = new string[reader.FieldCount] ;

        while (reader.Read()){
            for (int i =0; i< reader.FieldCount; i++) {
                listaNombres[i]=reader [reader.GetName(i)].ToString() ;
                };
            list.AppendValues(listaNombres);
        }

        treeview.Model = list;
        */

        connection.Close ();
    }
Example #15
0
    private TreeView CreateThemeTreeView()
    {
        PopulateStore ();
        TreeView tv = new TreeView (themeStore);
        tv.HeadersVisible = false;
        CellRendererText ct = new CellRendererText ();
        tv.AppendColumn (Mono.Posix.Catalog.GetString ("Theme"), ct, new TreeCellDataFunc (CellDataFunc));

        tv.Visible = true;

        return tv;
    }
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        tvcDomains.Title = "Domains";
        treeview1.AppendColumn(tvcDomains);

        treeview1.Model = domainListStore;

        CellRendererText crtDomainCell = new CellRendererText();
        tvcDomains.PackStart(crtDomainCell, true);
        tvcDomains.AddAttribute(crtDomainCell, "text", 0);
    }
Example #17
0
    private void FillTestComboBox(Gtk.ComboBox cb)
    {
        cb.Clear();
        CellRendererText cell = new CellRendererText();
        cb.PackStart(cell, false);
        cb.AddAttribute(cell, "text", 0);
        ListStore store = new ListStore(typeof (string));
        cb.Model = store;

        store.AppendValues("BitBlt");
        store.AppendValues("Ellipse");
        store.AppendValues("Polygon");
        store.AppendValues("LineTo");
        store.AppendValues("PolylineTo");
    }
 public void ConfigureMap()
 {
     entryreferencePlan.ItemsQuery = QueryOver.Of<Plan> ();
     planviewwidget1.Mode=LeaseAgreement.PlanViewMode.View;
     planviewwidget1.PolygonRightClicked += OnPolygonRightClicked;
     var cell = new CellRendererText ();
     var nameColumn = new TreeViewColumn ();
     nameColumn.Title = "Название места";
     nameColumn.PackStart (cell, true);
     nameColumn.SetCellDataFunc(cell, new TreeCellDataFunc(delegate(TreeViewColumn tree_column, CellRenderer cr, TreeModel tree_model, TreeIter iter) {
         Place place =tree_model.GetValue(iter,0) as Place;
         (cr as CellRendererText).Text=place.PlaceType.Name+"-"+place.PlaceNumber;
     }));
     reserveTreeView.AppendColumn (nameColumn);
 }
Example #19
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        MyFunction f;

        MyFunction[] functions = new MyFunction[]{suma, resta, multiplica};
        int random = new Random().Next(3);
        f = functions[random];

        //		if (new Random().Next(2) ==0){
        //			f=suma;
        //		}
        //		else{
        //			f=resta;
        //		}

        Console.WriteLine("f={0}", f(5,3));

        //comboBox
        CellRenderer cellRenderer = new CellRendererText();
        combobox.PackStart(cellRenderer, false);
        combobox.AddAttribute (cellRenderer, "text", 1);

        listStore = new ListStore(typeof(string), typeof(string));
        combobox.Model = listStore;

        listStore.AppendValues("1", "Uno");
        listStore.AppendValues("2", "Dos");
        listStore.AppendValues("3", "Tres");
        listStore.AppendValues("4", "Cuatro");
        listStore.AppendValues("5", "Cinco");

        combobox.Changed += delegate {

            TreeIter treeIter;

            if (combobox.GetActiveIter (out treeIter)) {  //item seleccionado
                object value = listStore.GetValue(treeIter, 0);
                Console.WriteLine ("ComboBox.Changed delegate id={0}", value);
            }

        };

        combobox.Changed += comboBoxChanged;
    }
Example #20
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        CellRenderer cellRenderer = new CellRendererText();
        comboBox.PackStart(cellRenderer, false);
        comboBox.AddAttribute (cellRenderer, "text", 1);

        ListStore listStore = new ListStore(typeof(string), typeof(string));
        comboBox.Model = listStore;

        listStore.AppendValues("1", "Uno");
        listStore.AppendValues("2", "Dos");

        comboBox.Changed += delegate { showActiveItem (listStore); };
    }
Example #21
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        Console.WriteLine ("MainWindow ctor.");

        QueryResult queryResult = PersisterHelper.Get ("select * from articulo");
        //TODO usar el queryResult

        IDbConnection dbConnection = App.Instance.DbConnection;
        IDbCommand dbCommand = dbConnection.CreateCommand ();
        dbCommand.CommandText = "select * from articulo";

        IDataReader dataReader = dbCommand.ExecuteReader ();
        //		treeView.AppendColumn ("id", new CellRendererText (), "text", 0);
        //		treeView.AppendColumn ("nombre", new CellRendererText (), "text", 1);
        string[] columnNames = getColumnNames (dataReader);
        CellRendererText cellRendererText = new CellRendererText ();
        for (int index = 0; index < columnNames.Length; index++) {
            //treeView.AppendColumn (columnNames [index], cellRendererText, "text", index);
            int column = index;
            treeView.AppendColumn (columnNames [index], cellRendererText,
                delegate(TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter) {
                    IList row = (IList)tree_model.GetValue(iter, 0);
                    cellRendererText.Text = row[column].ToString();
            });
        }

        //ListStore listStore = new ListStore (typeof(String), typeof(String));
        //Type[] types = getTypes (dataReader.FieldCount);
        ListStore listStore = new ListStore (typeof(IList));

        while (dataReader.Read()) {
            //listStore.AppendValues (dataReader [0].ToString(), dataReader [1].ToString());
            IList values = getValues (dataReader);
            listStore.AppendValues (values);
        }

        dataReader.Close ();

        treeView.Model = listStore;

        dbConnection.Close ();
    }
Example #22
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        //Notes
        TreeViewColumn notesCol = new TreeViewColumn();
        notesCol.Title = "Notes";
        treeviewNotes.AppendColumn(notesCol);
        //		ListStore nStore = new ListStore(typeof (string));
        //		treeviewNotes.Model = nStore;
        //		nStore.AppendValues("HAHAHA");

        CellRendererText noteTitleCell = new CellRendererText();
        notesCol.PackStart(noteTitleCell, true);
        notesCol.AddAttribute(noteTitleCell, "text", 0);
        /*
        TreeSelection ts = treeviewNotes.Selection;
        ts.Mode = SelectionMode.Multiple;
        treeviewNotes.RubberBanding = true;
        */
        //TODO if multiple selected disable NoteEditor

        notes = new NotesModel();
        treeviewNotes.Model = notes.NotesStore;

        //Tags
        TreeViewColumn tagsCol = new TreeViewColumn();
        tagsCol.Title = "Tags";
        TreeViewColumn tagsCountCol = new TreeViewColumn();
        tagsCountCol.SortIndicator = true;
        tagsCountCol.Title = "Count";
        treeviewTags.AppendColumn(tagsCol);
        treeviewTags.AppendColumn(tagsCountCol);
        treeviewTags.Model = notes.TagStore;

        CellRendererText tagTitleCell = new CellRendererText();
        tagsCol.PackStart(tagTitleCell, true);
        tagsCol.AddAttribute(tagTitleCell, "text", 0);

        CellRendererText tagCountCell = new CellRendererText();
        tagsCountCol.PackStart(tagCountCell, true);
        tagsCountCol.AddAttribute(tagCountCell, "text", 1);
    }
Example #23
0
	// TODO show only string values in combobox, not their ids
	public MainWindow (Dictionary<int, string> values, int defaultIndex): base (Gtk.WindowType.Toplevel)
	{
		Build ();
		TreeIter defaultIter = new TreeIter();

		ListStore store = new ListStore (typeof(int), typeof(string));
		foreach (KeyValuePair<int, string> pair in values) {
			TreeIter currentIter = store.AppendValues (pair.Key, pair.Value);
			if (pair.Key == defaultIndex)
				defaultIter = currentIter;
		}

		CellRendererText rendererText = new CellRendererText ();
		ComboBox.PackStart (rendererText, false);
		ComboBox.SetAttributes (rendererText, "text", 1);

		ComboBox.Model = store;
		ComboBox.SetActiveIter (defaultIter);
	}
Example #24
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build();
        wordStore = new ListStore(typeof(string), typeof(string));
        var lexColumn = new TreeViewColumn();
        var cellRendererText = new CellRendererText();
        lexColumn.PackStart(cellRendererText, true);
        lexColumn.AddAttribute(cellRendererText, "text", 0);
        lexColumn.Title = "Con Word";
        wordList.AppendColumn(lexColumn);
        wordListFilter = new TreeModelFilter(wordStore, null);
        wordListFilter.VisibleFunc = SearchFilter;
        wordList.Model = wordListFilter;

        statusbar1.Push(0, "No language loaded");
        currentWord.WordChanged += OnCurrentWordChanged;

        langFileFilter = new FileFilter();
        langFileFilter.AddPattern("*.lang");
    }
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        _domainsStore = new ListStore(typeof(string));
        CellRendererText cell = new CellRendererText();
        cbDomains.PackStart(cell, false);
        cbDomains.AddAttribute(cell, "text", 0);
        cbDomains.Model = _domainsStore;

        _blockDevStore = new ListStore(typeof(string));
        cbBlockDevice.PackStart(cell, false);
        cbBlockDevice.AddAttribute(cell, "text", 0);
        cbBlockDevice.Model = _blockDevStore;

        _interfaceStore = new ListStore(typeof(string));
        cbInterface.PackStart(cell, false);
        cbInterface.AddAttribute(cell, "text", 0);
        cbInterface.Model = _interfaceStore;
    }
Example #26
0
 public MainWindow()
     : base(Gtk.WindowType.Toplevel)
 {
     Build ();
     Console.WriteLine ("MainWindow ctor.");
     QueryResult queryResult = PersisterHelper.Get ("select * from articulo");
     string[] columnNames = queryResult.ColumnNames;
     CellRendererText cellRendererText = new CellRendererText ();
     for (int index = 0; index < columnNames.Length; index++) {
         int column = index;
         treeView.AppendColumn (columnNames [index], cellRendererText,
                                delegate(TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter) {
             IList row = (IList)tree_model.GetValue(iter, 0);
             cellRendererText.Text = row[column].ToString();
         });
     }
     ListStore listStore = new ListStore (typeof(IList));
     foreach (IList row in queryResult.Rows)
         listStore.AppendValues (row);
     treeView.Model = listStore;
 }
Example #27
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        //		MyFunction[] funtions = new MyFunction[]{suma, resta, multiplica};
        //
        //		int random = new Random().Next(3);
        //
        //		f = functions [random];
        //
        //
        //
        //		Console.WriteLine("f={0}", f(5,3));

        CellRenderer cellRenderer = new CellRendererText();//crea(dibuja) celda de texto
        comboBox.PackStart(cellRenderer, false); //expand=false
        comboBox.AddAttribute (cellRenderer, "text", 1);

        ListStore listStore = new ListStore(typeof(string), typeof(string));//creo dos columnas id y nombre
        comboBox.Model = listStore;

        listStore.AppendValues("1", "Uno");
        listStore.AppendValues("2", "Dos");

        //		comboBox.Changed += delegate //se ejecuta solo cuando hay un cambio
        //		{
        //
        //			TreeIter treeIter;
        //			if(	comboBox.GetActiveIter(out treeIter))//item seleccionado
        //			{
        //				object value = listStore.GetValue(treeIter, 0);//tenemos el indice y la columna
        //				//en esta variable guardo el valor de la columna y lo muestro
        //				Console.WriteLine("comboBox.Changed delegate value={0}", value);
        //			}
        //
        //		};

        comboBox.Changed += comboBoxChanged;
    }
Example #28
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        MyFuction f;
        MyFuction[]functions = new MyFuction[]{suma, resta, multiplica};
        int random = new Random().Next(3);

        f = functions[random];

        Console.WriteLine("f={0}", f(5,3));

        //ComboBox
        CellRenderer cellRenderer = new CellRendererText();
        comboBox.PackStart(cellRenderer,false); //expand=false
        comboBox.AddAttribute(cellRenderer, "text", 1);

        ListStore listStore = new ListStore(typeof(string),typeof(string));
        comboBox.Model = listStore;

        listStore.AppendValues("1","Valor uno");
        listStore.AppendValues("2","Valor dos");
        listStore.AppendValues("3","Valor tres");

        comboBox.Changed += delegate {
            Console.WriteLine ("comboBox.Changed");
            TreeIter treeIter;
            if(comboBox.GetActiveIter (out treeIter)) { //Item seleccionado
                object value = listStore.GetValue(treeIter, 0);
                Console.WriteLine("comboBox.Changed value={0}",value);
            }
        };

        comboBox.Changed += comboBoxChanged;
    }
    public LayerListWidget(IEditorApplication application)
    {
        this.application = application;
        ButtonPressEvent += OnButtonPressed;

        VisibilityRenderer visibilityRenderer = new VisibilityRenderer();
        visibilityRenderer.VisibilityChanged += OnVisibilityChange;
        TreeViewColumn visibilityColumn = new TreeViewColumn("Visibility",
                                                             visibilityRenderer);
        visibilityColumn.SetCellDataFunc(visibilityRenderer, VisibilityDataFunc);
        AppendColumn(visibilityColumn);

        CellRendererText TextRenderer = new CellRendererText();
        TreeViewColumn TypeColumn = new TreeViewColumn();
        TypeColumn.PackStart(TextRenderer, true);
        TypeColumn.SetCellDataFunc(TextRenderer, TextDataFunc);
        TypeColumn.Title = "Type";
        AppendColumn(TypeColumn);

        HeadersVisible = false;

        application.SectorChanged += OnSectorChanged;
        application.TilemapChanged += OnTilemapChanged;
    }
Example #30
0
    public MainWindow(string url)
        : base(Gtk.WindowType.Toplevel)
    {
        Build();
        Url = url;

        _pbkdfHandler = new PbkdfHandler();
        _hmacGenerator = new HmacGenerator();
        _sqrlSigner = new SqrlSigner();
        _sqrlClient = new SqrlClient(_pbkdfHandler, _hmacGenerator, _sqrlSigner);

        this.domainLabel.Text = string.Format("Do you want to log in to {0}", _sqrlClient.GetDomainFromUrl(url));

        _identities = GetIdentities();

        if(_identities.Count() <= 0)
        {
            var newIdentity = CreateNewIdentity();
            _identities.Add(newIdentity);
            SaveIdentities(_identities);
        }

        var comboList = new ListStore(typeof(int), typeof(string));
        var textRenderer = new CellRendererText();
        identityCombo.PackStart(textRenderer, false);
        identityCombo.AddAttribute(textRenderer, "text", 1);

        var identitiesArray = _identities.ToArray();

        for(var i = 0; i < identitiesArray.Length; i++)
        {
            comboList.AppendValues(i, identitiesArray[i].Name);
        }

        identityCombo.Model = comboList;
    }
Example #31
0
        private void AddColumns(TreeView treeView)
        {
            CellRendererText   text;
            CellRendererToggle toggle;

            // column for holiday names
            text        = new CellRendererText();
            text.Xalign = 0.0f;
            columns.Add(text);
            TreeViewColumn column = new TreeViewColumn("Holiday", text,
                                                       "text", Column.HolidayName);

            treeView.InsertColumn(column, (int)Column.HolidayName);

            // alex column
            toggle        = new CellRendererToggle();
            toggle.Xalign = 0.0f;
            columns.Add(toggle);
            toggle.Toggled += new ToggledHandler(ItemToggled);
            column          = new TreeViewColumn("Alex", toggle,
                                                 "active", (int)Column.Alex,
                                                 "visible", (int)Column.Visible,
                                                 "activatable", (int)Column.World);
            column.Sizing     = TreeViewColumnSizing.Fixed;
            column.FixedWidth = 50;
            column.Clickable  = true;
            treeView.InsertColumn(column, (int)Column.Alex);

            // havoc column
            toggle        = new CellRendererToggle();
            toggle.Xalign = 0.0f;
            columns.Add(toggle);
            toggle.Toggled += new ToggledHandler(ItemToggled);
            column          = new TreeViewColumn("Havoc", toggle,
                                                 "active", (int)Column.Havoc,
                                                 "visible", (int)Column.Visible);
            treeView.InsertColumn(column, (int)Column.Havoc);
            column.Sizing     = TreeViewColumnSizing.Fixed;
            column.FixedWidth = 50;
            column.Clickable  = true;

            // tim column
            toggle        = new CellRendererToggle();
            toggle.Xalign = 0.0f;
            columns.Add(toggle);
            toggle.Toggled += new ToggledHandler(ItemToggled);
            column          = new TreeViewColumn("Tim", toggle,
                                                 "active", (int)Column.Tim,
                                                 "visible", (int)Column.Visible,
                                                 "activatable", (int)Column.World);
            treeView.InsertColumn(column, (int)Column.Tim);
            column.Sizing     = TreeViewColumnSizing.Fixed;
            column.FixedWidth = 50;
            column.Clickable  = true;

            // owen column
            toggle        = new CellRendererToggle();
            toggle.Xalign = 0.0f;
            columns.Add(toggle);
            toggle.Toggled += new ToggledHandler(ItemToggled);
            column          = new TreeViewColumn("Owen", toggle,
                                                 "active", (int)Column.Owen,
                                                 "visible", (int)Column.Visible);
            treeView.InsertColumn(column, (int)Column.Owen);
            column.Sizing     = TreeViewColumnSizing.Fixed;
            column.FixedWidth = 50;
            column.Clickable  = true;

            // dave column
            toggle        = new CellRendererToggle();
            toggle.Xalign = 0.0f;
            columns.Add(toggle);
            toggle.Toggled += new ToggledHandler(ItemToggled);
            column          = new TreeViewColumn("Dave", toggle,
                                                 "active", (int)Column.Dave,
                                                 "visible", (int)Column.Visible);
            treeView.InsertColumn(column, (int)Column.Dave);
            column.Sizing     = TreeViewColumnSizing.Fixed;
            column.FixedWidth = 50;
            column.Clickable  = true;
        }
Example #32
0
        public CommitDialog(ChangeSet changeSet)
        {
            Build();

            store          = new ListStore(typeof(Xwt.Drawing.Image), typeof(string), typeof(string), typeof(bool), typeof(object));
            fileList.Model = store;
            this.changeSet = changeSet;
            oldMessage     = changeSet.GlobalComment;

            CellRendererText crt     = new CellRendererText();
            var            crp       = new CellRendererImage();
            TreeViewColumn colStatus = new TreeViewColumn();

            colStatus.Title = GettextCatalog.GetString("Status");
            colStatus.PackStart(crp, false);
            colStatus.PackStart(crt, true);
            colStatus.Spacing = 2;
            colStatus.AddAttribute(crp, "image", 0);
            colStatus.AddAttribute(crt, "text", 1);
            CellRendererToggle cellToggle = new CellRendererToggle();

            cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler);
            TreeViewColumn colCommit = new TreeViewColumn("", cellToggle, "active", 3);
            TreeViewColumn colFile   = new TreeViewColumn(GettextCatalog.GetString("File"), new CellRendererText(), "text", 2);

            fileList.AppendColumn(colCommit);
            fileList.AppendColumn(colStatus);
            fileList.AppendColumn(colFile);

            colCommit.Visible = false;

            object[] exts = AddinManager.GetExtensionObjects("/MonoDevelop/VersionControl/CommitDialogExtensions", false);
            bool     separatorRequired = false;

            foreach (object ob in exts)
            {
                CommitDialogExtension ext = ob as CommitDialogExtension;
                if (ext == null)
                {
                    MessageService.ShowError("Commit extension type " + ob.GetType() + " must be a subclass of CommitDialogExtension");
                    continue;
                }
                if (ext.Initialize(changeSet))
                {
                    ext.CommitMessageTextViewHook(textview);
                    if (separatorRequired)
                    {
                        HSeparator sep = new HSeparator();
                        sep.Show();
                        vboxExtensions.PackEnd(sep, false, false, 0);
                    }
                    vboxExtensions.PackEnd(ext, false, false, 0);
                    extensions.Add(ext);
                    ext.AllowCommitChanged += HandleAllowCommitChanged;
                    separatorRequired       = true;
                }
                else
                {
                    ext.Destroy();
                }
            }
            HandleAllowCommitChanged(null, null);

            foreach (ChangeSetItem info in changeSet.Items)
            {
                Xwt.Drawing.Image statusicon = VersionControlService.LoadIconForStatus(info.Status);
                string            lstatus    = VersionControlService.GetStatusLabel(info.Status);
                string            localpath;

                if (info.IsDirectory)
                {
                    localpath = (!info.LocalPath.IsChildPathOf(changeSet.BaseLocalPath)?
                                 ".":
                                 (string)info.LocalPath.ToRelative(changeSet.BaseLocalPath));
                }
                else
                {
                    localpath = System.IO.Path.GetFileName((string)info.LocalPath);
                }

                if (localpath.Length > 0 && localpath[0] == System.IO.Path.DirectorySeparatorChar)
                {
                    localpath = localpath.Substring(1);
                }
                if (localpath == "")
                {
                    localpath = ".";
                }                                                         // not sure if this happens

                store.AppendValues(statusicon, lstatus, localpath, true, info);
                selected.Add(info.LocalPath);
            }

            if (string.IsNullOrEmpty(changeSet.GlobalComment))
            {
                AuthorInformation   aInfo;
                CommitMessageFormat fmt = VersionControlService.GetCommitMessageFormat(changeSet, out aInfo);
                Message = changeSet.GenerateGlobalComment(fmt, aInfo);
            }
            else
            {
                Message = changeSet.GlobalComment;
            }

            textview.Buffer.Changed += OnTextChanged;
            responseSensitive        = !string.IsNullOrEmpty(Message);

            // Focus the text view and move the insert point to the beginning. Makes it easier to insert
            // a comment header.
            textview.Buffer.MoveMark(textview.Buffer.InsertMark, textview.Buffer.StartIter);
            textview.Buffer.MoveMark(textview.Buffer.SelectionBound, textview.Buffer.StartIter);
            textview.GrabFocus();
            textview.Buffer.MarkSet += OnMarkSet;

            SetResponseSensitive(ResponseType.Ok, responseSensitive);
        }
Example #33
0
        public RegexToolkitWidget()
        {
            this.Build();
            optionsStore = new ListStore(typeof(bool), typeof(string), typeof(Options));
            resultStore  = new Gtk.TreeStore(typeof(string), typeof(string), typeof(int), typeof(int));

            FillOptionsBox();

            this.buttonStart.Sensitive         = false;
            this.entryRegEx.Changed           += UpdateStartButtonSensitivity;
            this.inputTextview.Buffer.Changed += UpdateStartButtonSensitivity;

            this.buttonStart.Clicked += delegate {
                if (regexThread != null && regexThread.IsAlive)
                {
                    regexThread.Abort();
                    regexThread.Join();
                    SetButtonStart(GettextCatalog.GetString("Start Regular E_xpression"), "gtk-execute");
                    regexThread = null;
                    return;
                }

                regexThread = new Thread(delegate() {
                    PerformQuery(inputTextview.Buffer.Text, this.entryRegEx.Text, this.entryReplace.Text, GetOptions());
                });

                regexThread.IsBackground = true;
                regexThread.Name         = "regex thread";
                regexThread.Start();
                SetButtonStart(GettextCatalog.GetString("Stop e_xecution"), "gtk-media-stop");

                SetFindMode(!checkbuttonReplace.Active);
            };

            SetFindMode(true);

            var cellRendText = new CellRendererText();

            cellRendText.Ellipsize = Pango.EllipsizeMode.End;

            this.optionsTreeview.Model          = this.optionsStore;
            this.optionsTreeview.HeadersVisible = false;

            CellRendererToggle cellRendToggle = new CellRendererToggle();

            cellRendToggle.Toggled    += new ToggledHandler(OptionToggled);
            cellRendToggle.Activatable = true;
            this.optionsTreeview.AppendColumn("", cellRendToggle, "active", 0);
            this.optionsTreeview.AppendColumn("", cellRendText, "text", 1);

            this.resultsTreeview.Model          = this.resultStore;
            this.resultsTreeview.HeadersVisible = false;
            var col = new TreeViewColumn();

            this.resultsTreeview.AppendColumn(col);
            var pix = new CellRendererImage();

            col.PackStart(pix, false);
            col.AddAttribute(pix, "stock_id", 0);
            col.PackStart(cellRendText, true);
            col.AddAttribute(cellRendText, "text", 1);

            this.resultsTreeview.RowActivated += delegate(object sender, RowActivatedArgs e) {
                Gtk.TreeIter iter;
                if (resultStore.GetIter(out iter, e.Path))
                {
                    int index  = (int)resultStore.GetValue(iter, 2);
                    int length = (int)resultStore.GetValue(iter, 3);
                    if (index >= 0)
                    {
                        this.inputTextview.Buffer.SelectRange(this.inputTextview.Buffer.GetIterAtOffset(index),
                                                              this.inputTextview.Buffer.GetIterAtOffset(index + length));
                    }
                    else
                    {
                        this.inputTextview.Buffer.SelectRange(this.inputTextview.Buffer.GetIterAtOffset(0), this.inputTextview.Buffer.GetIterAtOffset(0));
                    }
                }
            };

            this.entryReplace.Sensitive      = this.checkbuttonReplace.Active = false;
            this.checkbuttonReplace.Toggled += delegate {
                this.entryReplace.Sensitive = this.checkbuttonReplace.Active;
            };
            this.vbox4.WidthRequest            = 380;
            this.scrolledwindow5.HeightRequest = 150;
            this.scrolledwindow1.HeightRequest = 150;
            Show();
        }
        public KeyBindingsPanel()
        {
            this.Build();

            keyStore                  = new TreeStore(typeof(Command), typeof(string), typeof(string), typeof(string), typeof(int), typeof(string), typeof(bool), typeof(bool));
            keyTreeView.Model         = filterModel = new TreeModelFilter(keyStore, null);
            filterModel.VisibleColumn = visibleCol;

            TreeViewColumn col = new TreeViewColumn();

            col.Title   = GettextCatalog.GetString("Command");
            col.Spacing = 4;
            CellRendererImage crp = new CellRendererImage();

            col.PackStart(crp, false);
            col.AddAttribute(crp, "stock-id", iconCol);
            col.AddAttribute(crp, "visible", iconVisibleCol);
            CellRendererText crt = new CellRendererText();

            col.PackStart(crt, true);
            col.AddAttribute(crt, "text", labelCol);
            col.AddAttribute(crt, "weight", boldCol);
            keyTreeView.AppendColumn(col);

            bindingTVCol       = new TreeViewColumn();
            bindingTVCol.Title = GettextCatalog.GetString("Key Binding");
            CellRendererKeyButtons bindingRenderer = new CellRendererKeyButtons(this);

            bindingRenderer.KeyBindingSelected += BindingRenderer_KeyBindingSelected;
            bindingTVCol.PackStart(bindingRenderer, false);
            bindingTVCol.AddAttribute(bindingRenderer, "text", bindingCol);
            bindingTVCol.AddAttribute(bindingRenderer, "command", commandCol);
            keyTreeView.AppendColumn(bindingTVCol);

            keyTreeView.AppendColumn(GettextCatalog.GetString("Description"), new CellRendererText(), "text", descCol);

            keyTreeView.Selection.Changed += OnKeysTreeViewSelectionChange;

            accelEntry.KeyPressEvent   += OnAccelEntryKeyPress;
            accelEntry.KeyReleaseEvent += OnAccelEntryKeyRelease;
            accelEntry.Changed         += delegate {
                UpdateWarningLabel();
            };
            updateButton.Clicked += OnUpdateButtonClick;
            addButton.Clicked    += OnAddRemoveButtonClick;

            currentBindings = KeyBindingService.CurrentKeyBindingSet.Clone();

            schemes = new List <KeyBindingScheme> (KeyBindingService.Schemes);

            foreach (KeyBindingScheme s in schemes)
            {
                schemeCombo.AppendText(s.Name);
            }

            if (schemes.Count > 0)
            {
                schemeCombo.RowSeparatorFunc = (TreeModel model, TreeIter iter) => {
                    if (model.GetValue(iter, 0) as string == "---")
                    {
                        return(true);
                    }
                    return(false);
                };
                schemeCombo.AppendText("---");
            }
            schemeCombo.AppendText(GettextCatalog.GetString("Custom"));

            SelectCurrentScheme();
            schemeCombo.Changed += OnKeyBindingSchemeChanged;

            searchEntry.Ready    = true;
            searchEntry.Visible  = true;
            searchEntry.Changed += delegate {
                processedFilterTerms = searchEntry.Entry.Text.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                                       .Select(s => s.ToLower()).ToArray();;
                filterChanged = true;
                if (!filterTimeoutRunning)
                {
                    filterTimeoutRunning = true;
                    GLib.Timeout.Add(50, delegate {
                        if (!filterChanged)
                        {
                            if (filterTimeoutRunning)
                            {
                                Refilter();
                            }
                            filterTimeoutRunning = false;
                            return(false);
                        }
                        filterChanged = false;
                        return(true);
                    });
                }
                ;
            };

            keyTreeView.SearchColumn = -1;             // disable the interactive search

            //HACK: workaround for MD Bug 608021: Stetic loses values assigned to "new" properties of custom widget
            conflicButton.Label        = GettextCatalog.GetString("_View Conflicts");
            conflicButton.UseUnderline = true;
        }
Example #35
0
        void AddMultiOptionCombo(OptionCombo option)
        {
            if (option.Items.Count < 2)
            {
                throw new InvalidOperationException();
            }

            var model    = new ListStore(new Type[] { typeof(string), typeof(object) });
            var renderer = new CellRendererText();

            foreach (var item in option.Items)
            {
                var label = item.Name;
                var sfx   = item.Framework;

                bool hasOtherVersions = false;
                foreach (var other in option.Items)
                {
                    if (sfx == other.Framework)
                    {
                        continue;
                    }
                    if (!string.IsNullOrEmpty(other.Framework.MonoSpecificVersionDisplayName))
                    {
                        continue;
                    }
                    hasOtherVersions = true;
                    break;
                }

                if (hasOtherVersions && string.IsNullOrEmpty(sfx.MonoSpecificVersionDisplayName))
                {
                    label += " or later";
                }

                model.AppendValues(label, item.Targets);
            }

            option.Combo = new ComboBox(model);
            option.Check = new CheckButton();

            option.Combo.PackStart(renderer, true);
            option.Combo.AddAttribute(renderer, "text", 0);

            option.Combo.Active = 0;

            option.Check.Show();
            option.Combo.Show();

            option.Combo.Changed += (sender, e) => {
                if (option.Check.Active)
                {
                    TargetFrameworkChanged(option);
                }
            };
            option.Check.Toggled += (sender, e) => {
                TargetFrameworkChanged(option);
            };

            var hbox = new HBox();

            hbox.PackStart(option.Check, false, false, 0);
            hbox.PackStart(option.Combo, true, true, 0);
            hbox.Show();

            var alignment = new Alignment(0.0f, 0.5f, 1.0f, 1.0f)
            {
                LeftPadding = 18, RightPadding = 18
            };

            alignment.Add(hbox);
            alignment.Show();

            vbox1.PackStart(alignment, false, true, 0);
        }
Example #36
0
        //DataTable Mode
        public TreeViewPartialPayment(Window pSourceWindow, DataRow pDefaultValue, Type pDialogType, GenericTreeViewMode pGenericTreeViewMode = GenericTreeViewMode.Default, GenericTreeViewNavigatorMode pGenericTreeViewNavigatorMode = GenericTreeViewNavigatorMode.Default)
        {
            //Init Vars
            DataRow defaultValue = (pDefaultValue != null) ? pDefaultValue : null;
            //Override Default DialogType with Parameter Dialog Type, this way we can have diferent DialogTypes for GenericTreeView
            Type typeDialogClass = (pDialogType != null) ? pDialogType : null;

            //Defaults
            CellRendererText cellRendererCurrency = new CellRendererText()
            {
                Alignment = Pango.Alignment.Right, Xalign = 1.0F
            };
            int decimalsColumnWidth = 100;

            //Configure columnProperties
            List <GenericTreeViewColumnProperty> columnProperties = new List <GenericTreeViewColumnProperty>();

            /*00*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Oid")
            {
                Type = typeof(Guid), Visible = false
            });
            /*01*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Code")
            {
                Type = typeof(String), Title = Resx.global_record_code
            });
            /*02*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Designation")
            {
                Type = typeof(String), Title = Resx.global_designation, Expand = true
            });
            /*03*/
            columnProperties.Add(new GenericTreeViewColumnProperty("PriceFinal")
            {
                Type = typeof(Decimal), Title = Resx.global_price, MinWidth = decimalsColumnWidth, MaxWidth = decimalsColumnWidth, CellRenderer = cellRendererCurrency
            });
            /*04*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Vat")
            {
                Type = typeof(Decimal), Title = Resx.global_vat_rate, MinWidth = decimalsColumnWidth, MaxWidth = decimalsColumnWidth, Alignment = 1.0F, CellRenderer = cellRendererCurrency
            });
            /*05*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Discount")
            {
                Type = typeof(Decimal), Title = Resx.global_discount, MinWidth = decimalsColumnWidth, MaxWidth = decimalsColumnWidth, Alignment = 1.0F, CellRenderer = cellRendererCurrency
            });
            /*06*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Place")
            {
                Type = typeof(String), Title = Resx.global_placetable_place
            });
            //Other Invisible Fields
            /*07*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Price")
            {
                Type = typeof(Decimal), Visible = false
            });
            /*08*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Quantity")
            {
                Type = typeof(Int16), Visible = false
            });
            /*09*/
            columnProperties.Add(new GenericTreeViewColumnProperty("UnitMeasure")
            {
                Type = typeof(String), Visible = false
            });
            /*10*/
            columnProperties.Add(new GenericTreeViewColumnProperty("PlaceOid")
            {
                Type = typeof(Guid), Visible = false
            });
            /*11*/
            columnProperties.Add(new GenericTreeViewColumnProperty("TableOid")
            {
                Type = typeof(Guid), Visible = false
            });
            /*12*/
            columnProperties.Add(new GenericTreeViewColumnProperty("PriceType")
            {
                Type = typeof(PriceType), Visible = false
            });
            /*13*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Token1")
            {
                Type = typeof(string), Visible = false
            });                                                                                                            //ClassifiedID
            /*14*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Token2")
            {
                Type = typeof(string), Visible = false
            });                                                                                                            //FriendlyID
            /*15*/
            columnProperties.Add(new GenericTreeViewColumnProperty("Notes")
            {
                Type = typeof(string), Visible = false
            });

            //init DataTable
            DataTable dataTable = GetDataTable(columnProperties);

            //Call Base Initializer
            base.InitObject(
                pSourceWindow,                 //Pass parameter
                pDefaultValue,                 //Pass parameter
                pGenericTreeViewMode,          //Pass parameter
                pGenericTreeViewNavigatorMode, //Pass parameter
                columnProperties,              //Created Here
                dataTable,                     //Created Here
                typeDialogClass                //Created Here
                );

            //Use this in SelectRecord to format TreeView to Touch
            //this.FormatColumnPropertiesForTouch();
        }
Example #37
0
        public LogWidget(VersionControlDocumentInfo info)
        {
            this.Build();
            this.info = info;
            if (info.Document != null)
            {
                this.preselectFile = info.Item.Path;
            }

            var separator = new HeaderBox();

            separator.SetMargins(1, 0, 0, 0);
            separator.HeightRequest = 4;
            separator.ShowAll();

            hpaned1 = hpaned1.ReplaceWithWidget(new HPanedThin(), true);
            vpaned1 = vpaned1.ReplaceWithWidget(new VPanedThin()
            {
                HandleWidget = separator
            }, true);

            revertButton           = new DocumentToolButton("vc-revert-command", GettextCatalog.GetString("Revert changes from this revision"));
            revertButton.Sensitive = false;
            revertButton.Clicked  += new EventHandler(RevertRevisionClicked);

            revertToButton           = new DocumentToolButton("vc-revert-command", GettextCatalog.GetString("Revert to this revision"));
            revertToButton.Sensitive = false;
            revertToButton.Clicked  += new EventHandler(RevertToRevisionClicked);

            refreshButton          = new DocumentToolButton(Gtk.Stock.Refresh, GettextCatalog.GetString("Refresh"));
            refreshButton.Clicked += new EventHandler(RefreshClicked);

            searchEntry = new SearchEntry();
            searchEntry.WidthRequest             = 200;
            searchEntry.ForceFilterButtonVisible = true;
            searchEntry.EmptyMessage             = GettextCatalog.GetString("Search");
            searchEntry.Changed += HandleSearchEntryFilterChanged;
            searchEntry.Ready    = true;
            searchEntry.Show();

            messageRenderer.Ellipsize = Pango.EllipsizeMode.End;
            TreeViewColumn colRevMessage = new TreeViewColumn();

            colRevMessage.Title = GettextCatalog.GetString("Message");
            var graphRenderer = new RevisionGraphCellRenderer();

            colRevMessage.PackStart(graphRenderer, false);
            colRevMessage.SetCellDataFunc(graphRenderer, GraphFunc);

            colRevMessage.PackStart(messageRenderer, true);
            colRevMessage.SetCellDataFunc(messageRenderer, MessageFunc);
            colRevMessage.Sizing = TreeViewColumnSizing.Autosize;

            treeviewLog.AppendColumn(colRevMessage);
            colRevMessage.MinWidth  = 350;
            colRevMessage.Resizable = true;


            TreeViewColumn colRevDate = new TreeViewColumn(GettextCatalog.GetString("Date"), textRenderer);

            colRevDate.SetCellDataFunc(textRenderer, DateFunc);
            colRevDate.Resizable = true;
            treeviewLog.AppendColumn(colRevDate);

            TreeViewColumn colRevAuthor = new TreeViewColumn();

            colRevAuthor.Title = GettextCatalog.GetString("Author");
            colRevAuthor.PackStart(pixRenderer, false);
            colRevAuthor.PackStart(textRenderer, true);
            colRevAuthor.SetCellDataFunc(textRenderer, AuthorFunc);
            colRevAuthor.SetCellDataFunc(pixRenderer, AuthorIconFunc);
            colRevAuthor.Resizable = true;
            treeviewLog.AppendColumn(colRevAuthor);

            TreeViewColumn colRevNum = new TreeViewColumn(GettextCatalog.GetString("Revision"), textRenderer);

            colRevNum.SetCellDataFunc(textRenderer, RevisionFunc);
            colRevNum.Resizable = true;
            treeviewLog.AppendColumn(colRevNum);

            treeviewLog.Model              = logstore;
            treeviewLog.Selection.Changed += TreeSelectionChanged;

            treeviewFiles = new FileTreeView();
            treeviewFiles.DiffLineActivated += HandleTreeviewFilesDiffLineActivated;
            scrolledwindowFiles.Child        = treeviewFiles;
            scrolledwindowFiles.ShowAll();

            changedpathstore = new TreeStore(typeof(Xwt.Drawing.Image), typeof(string), // icon/file name
                                             typeof(Xwt.Drawing.Image), typeof(string), // icon/operation
                                             typeof(string),                            // path
                                             typeof(string),                            // revision path (invisible)
                                             typeof(string [])                          // diff
                                             );

            TreeViewColumn colChangedFile = new TreeViewColumn();
            var            crp            = new CellRendererImage();
            var            crt            = new CellRendererText();

            colChangedFile.Title = GettextCatalog.GetString("File");
            colChangedFile.PackStart(crp, false);
            colChangedFile.PackStart(crt, true);
            colChangedFile.AddAttribute(crp, "image", 2);
            colChangedFile.AddAttribute(crt, "text", 3);
            treeviewFiles.AppendColumn(colChangedFile);

            TreeViewColumn colOperation = new TreeViewColumn();

            colOperation.Title = GettextCatalog.GetString("Operation");
            colOperation.PackStart(crp, false);
            colOperation.PackStart(crt, true);
            colOperation.AddAttribute(crp, "image", 0);
            colOperation.AddAttribute(crt, "text", 1);
            treeviewFiles.AppendColumn(colOperation);

            TreeViewColumn colChangedPath = new TreeViewColumn();

            colChangedPath.Title = GettextCatalog.GetString("Path");

            diffRenderer.DrawLeft = true;
            colChangedPath.PackStart(diffRenderer, true);
            colChangedPath.SetCellDataFunc(diffRenderer, SetDiffCellData);
            treeviewFiles.AppendColumn(colChangedPath);
            treeviewFiles.Model          = changedpathstore;
            treeviewFiles.TestExpandRow += HandleTreeviewFilesTestExpandRow;
            treeviewFiles.Events        |= Gdk.EventMask.PointerMotionMask;

            textviewDetails.WrapMode = Gtk.WrapMode.Word;

            labelAuthor.Text   = "";
            labelDate.Text     = "";
            labelRevision.Text = "";

            vbox2.Remove(scrolledwindow1);
            HeaderBox tb = new HeaderBox();

            tb.Show();
            tb.SetMargins(1, 0, 0, 0);
            tb.ShowTopShadow = true;
            tb.ShadowSize    = 4;
            tb.SetPadding(8, 8, 8, 8);
            tb.UseChildBackgroundColor = true;
            tb.Add(scrolledwindow1);
            vbox2.PackStart(tb, true, true, 0);
        }
Example #38
0
        public OptionsDialog(Gtk.Window parentWindow, object dataObject, string extensionPath, bool removeEmptySections)
        {
            buttonCancel = new Gtk.Button(Gtk.Stock.Cancel);
            AddActionWidget(this.buttonCancel, ResponseType.Cancel);

            buttonOk = new Gtk.Button(Gtk.Stock.Ok);
            this.ActionArea.PackStart(buttonOk);
            buttonOk.Clicked += OnButtonOkClicked;

            mainHBox = new HBox();
            tree     = new TreeView();
            var sw = new ScrolledWindow();

            sw.Add(tree);
            sw.HscrollbarPolicy = PolicyType.Never;
            sw.VscrollbarPolicy = PolicyType.Automatic;
            sw.ShadowType       = ShadowType.None;

            var fboxTree = new HeaderBox();

            fboxTree.SetMargins(0, 1, 0, 1);
            fboxTree.SetPadding(0, 0, 0, 0);
            fboxTree.BackgroundColor = new Gdk.Color(255, 255, 255);
            fboxTree.Add(sw);
            mainHBox.PackStart(fboxTree, false, false, 0);

            Realized += delegate {
                fboxTree.BackgroundColor = tree.Style.Base(Gtk.StateType.Normal);
            };

            var vbox = new VBox();

            mainHBox.PackStart(vbox, true, true, 0);
            var headerBox = new HBox(false, 6);

            image = new Image();
            //	headerBox.PackStart (image, false, false, 0);

            labelTitle        = new Label();
            labelTitle.Xalign = 0;
            headerBox.PackStart(labelTitle, true, true, 0);
            headerBox.BorderWidth = 12;

            var fboxHeader = new HeaderBox();

            fboxHeader.SetMargins(0, 1, 0, 0);
            fboxHeader.Add(headerBox);
//			fbox.GradientBackround = true;
//			fbox.BackgroundColor = new Gdk.Color (255, 255, 255);
            Realized += delegate {
                var c = new HslColor(Style.Background(Gtk.StateType.Normal));
                c.L += 0.09;
                fboxHeader.BackgroundColor = c;
            };
            vbox.PackStart(fboxHeader, false, false, 0);

            pageFrame = new HBox();
            var fbox = new HeaderBox();

            fbox.SetMargins(0, 1, 0, 0);
            fbox.ShowTopShadow = true;
            fbox.Add(pageFrame);
            vbox.PackStart(fbox, true, true, 0);

            this.VBox.PackStart(mainHBox, true, true, 0);

            this.removeEmptySections = removeEmptySections;
            extensionContext         = AddinManager.CreateExtensionContext();

            this.mainDataObject = dataObject;
            this.extensionPath  = extensionPath;

            if (parentWindow != null)
            {
                TransientFor = parentWindow;
            }

            ImageService.EnsureStockIconIsLoaded(emptyCategoryIcon, treeIconSize);
            ImageService.EnsureStockIconIsLoaded(emptyCategoryIcon, headerIconSize);

            store               = new TreeStore(typeof(OptionsDialogSection));
            tree.Model          = store;
            tree.HeadersVisible = false;

            // Column 0 is used to add some padding at the left of the expander
            TreeViewColumn col0 = new TreeViewColumn();

            col0.MinWidth = 6;
            tree.AppendColumn(col0);

            TreeViewColumn col = new TreeViewColumn();
            var            crp = new CellRendererPixbuf();

            col.PackStart(crp, false);
            col.SetCellDataFunc(crp, PixbufCellDataFunc);
            var crt = new CellRendererText();

            col.PackStart(crt, true);
            col.SetCellDataFunc(crt, TextCellDataFunc);
            tree.AppendColumn(col);

            tree.ExpanderColumn = col;

            tree.Selection.Changed += OnSelectionChanged;

            Child.ShowAll();

            InitializeContext(extensionContext);

            FillTree();
            ExpandCategories();
            this.DefaultResponse = Gtk.ResponseType.Ok;

            DefaultWidth  = 722;
            DefaultHeight = 502;
        }
Example #39
0
        void InitializeComponents()
        {
            iconView = new TemplateView();
            iconView.ShowAll();
            boxTemplates.PackStart(iconView, true, true, 0);

            catStore = new TreeStore(typeof(string), typeof(List <Category>), typeof(List <TemplateItem>));

            TreeViewColumn treeViewColumn = new TreeViewColumn();

            treeViewColumn.Title = "categories";
            CellRenderer cellRenderer = new CellRendererText();

            treeViewColumn.PackStart(cellRenderer, true);
            treeViewColumn.AddAttribute(cellRenderer, "text", 0);
            catView.AppendColumn(treeViewColumn);

            catStore.SetSortColumnId(0, SortType.Ascending);
            catView.Model = catStore;

            okButton.Clicked     += new EventHandler(OpenEvent);
            cancelButton.Clicked += new EventHandler(cancelClicked);

            nameEntry.Changed   += new EventHandler(NameChanged);
            nameEntry.Activated += new EventHandler(OpenEvent);

            infoLabel.Text          = string.Empty;
            labelTemplateTitle.Text = string.Empty;

            Project[] projects = null;
            if (parentProject == null)
            {
                projects = IdeApp.Workspace.GetAllProjects().ToArray();
            }

            if (projects != null && projects.Length > 0)
            {
                Project curProject = IdeApp.ProjectOperations.CurrentSelectedProject;

                boxProject.Visible          = true;
                projectAddCheckbox.Active   = curProject != null;
                projectAddCheckbox.Toggled += new EventHandler(AddToProjectToggled);

                projectNames = new string[projects.Length];
                projectRefs  = new Project[projects.Length];
                int i = 0;

                bool singleSolution = IdeApp.Workspace.Items.Count == 1 && IdeApp.Workspace.Items[0] is Solution;

                foreach (Project project in projects)
                {
                    projectRefs[i] = project;
                    if (singleSolution)
                    {
                        projectNames[i++] = project.Name;
                    }
                    else
                    {
                        projectNames[i++] = project.ParentSolution.Name + "/" + project.Name;
                    }
                }

                Array.Sort(projectNames, projectRefs);
                i = Array.IndexOf(projectRefs, curProject);

                foreach (string pn in projectNames)
                {
                    projectAddCombo.AppendText(pn);
                }

                projectAddCombo.Active    = i != -1 ? i : 0;
                projectAddCombo.Sensitive = projectAddCheckbox.Active;
                projectAddCombo.Changed  += new EventHandler(AddToProjectComboChanged);

                projectPathLabel.Sensitive   = projectAddCheckbox.Active;
                projectFolderEntry.Sensitive = projectAddCheckbox.Active;
                if (curProject != null)
                {
                    projectFolderEntry.Path = curProject.BaseDirectory;
                }
                projectFolderEntry.PathChanged += new EventHandler(AddToProjectPathChanged);

                if (curProject != null)
                {
                    basePath      = curProject.BaseDirectory;
                    parentProject = curProject;
                }
            }
            else
            {
                boxProject.Visible = false;
            }

            catView.Selection.Changed += new EventHandler(CategoryChange);
            catView.RowActivated      += new RowActivatedHandler(CategoryActivated);
            iconView.SelectionChanged += new EventHandler(SelectedTemplateChanged);
            iconView.DoubleClicked    += new EventHandler(OpenEvent);
            InitializeDialog(false);
            InitializeView();
            UpdateOkStatus();
        }
        public CodeMetricsWidget()
        {
            this.Build();
            treeviewMetrics.RulesHint = true;
            treeviewMetrics.Model     = metricStore;

            projects = new List <ProjectProperties>();

            crt           = new CellRendererText();
            crt.Ellipsize = Pango.EllipsizeMode.Start;

            iconCol = new TreeViewColumn(GettextCatalog.GetString("Icon"), new Gtk.CellRendererPixbuf(), "pixbuf", 0);
            iconCol.SortIndicator = true;
            iconCol.SortColumnId  = 1;
            iconCol.Expand        = false;
            iconCol.Resizable     = true;
            treeviewMetrics.AppendColumn(iconCol);

            typenameCol = new TreeViewColumn(GettextCatalog.GetString("Type name"), crt, "text", 1);
            typenameCol.SortIndicator = true;
            typenameCol.SortColumnId  = 0;
            typenameCol.Expand        = true;
            typenameCol.Resizable     = true;
            treeviewMetrics.AppendColumn(typenameCol);

            cyclometricComplexityCol = new TreeViewColumn(GettextCatalog.GetString("Cyclometric Complexity"), new CellRendererText(), "text", 2);
            cyclometricComplexityCol.SortIndicator = true;
            cyclometricComplexityCol.SortColumnId  = 0;
            cyclometricComplexityCol.Reorderable   = true;
            cyclometricComplexityCol.Resizable     = false;
            treeviewMetrics.AppendColumn(cyclometricComplexityCol);

            classCouplingCol = new TreeViewColumn(GettextCatalog.GetString("Class Coupling"), new CellRendererText(), "text", 3);
            classCouplingCol.SortIndicator = true;
            classCouplingCol.SortColumnId  = 0;
            classCouplingCol.Reorderable   = true;
            classCouplingCol.Resizable     = false;
            treeviewMetrics.AppendColumn(classCouplingCol);

            realLocCol = new TreeViewColumn(GettextCatalog.GetString("Real Loc"), new CellRendererText(), "text", 4);
            realLocCol.SortIndicator = true;
            realLocCol.SortColumnId  = 0;
            realLocCol.Reorderable   = true;
            realLocCol.Resizable     = false;
            treeviewMetrics.AppendColumn(realLocCol);

            commentsLocCol = new TreeViewColumn(GettextCatalog.GetString("Comments Loc"), new CellRendererText(), "text", 5);
            commentsLocCol.SortIndicator = true;
            commentsLocCol.SortColumnId  = 0;
            commentsLocCol.Reorderable   = true;
            commentsLocCol.Resizable     = false;
            treeviewMetrics.AppendColumn(commentsLocCol);

            // TODO: When user clicks on the respective type then the corresponding filename containing that type should open

            this.treeviewMetrics.RowActivated += delegate {
                Gtk.TreeIter selectedIter;
                if (treeviewMetrics.Selection.GetSelected(out selectedIter))
                {
                    rowSelectTypeName = (IProperties)metricStore.GetValue(selectedIter, 6);
                    MonoDevelop.Ide.IdeApp.Workbench.OpenDocument(rowSelectTypeName.FilePath);
                    MonoDevelop.Ide.IdeApp.Workbench.ActiveDocument.Editor.SetCaretTo(rowSelectTypeName.StartLine, 0);
                }
            };

            this.treeviewMetrics.CursorChanged += delegate {
                Gtk.TreeIter selectedIter;
                if (treeviewMetrics.Selection.GetSelected(out selectedIter))
                {
                    rowSelectTypeName = (IProperties)metricStore.GetValue(selectedIter, 6);
                    Gtk.Application.Invoke(delegate {
                        textviewReport.Buffer.Text = CodeMetricsService.GenerateTypeMetricText(rowSelectTypeName);
                    });
                }
            };
        }
Example #41
0
        private SettingsWindow(MainWindow parent, Builder builder, VirtualFileSystem virtualFileSystem, HLE.FileSystem.Content.ContentManager contentManager) : base(builder.GetObject("_settingsWin").Handle)
        {
            Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.Resources.Logo_Ryujinx.png");

            _parent = parent;

            builder.Autoconnect(this);

            _timeZoneContentManager = new TimeZoneContentManager();
            _timeZoneContentManager.InitializeInstance(virtualFileSystem, contentManager, LibHac.FsSystem.IntegrityCheckLevel.None);

            _validTzRegions = new HashSet <string>(_timeZoneContentManager.LocationNameCache.Length, StringComparer.Ordinal); // Zone regions are identifiers. Must match exactly.

            // Bind Events.
            _configureController1.Pressed      += (sender, args) => ConfigureController_Pressed(sender, PlayerIndex.Player1);
            _configureController2.Pressed      += (sender, args) => ConfigureController_Pressed(sender, PlayerIndex.Player2);
            _configureController3.Pressed      += (sender, args) => ConfigureController_Pressed(sender, PlayerIndex.Player3);
            _configureController4.Pressed      += (sender, args) => ConfigureController_Pressed(sender, PlayerIndex.Player4);
            _configureController5.Pressed      += (sender, args) => ConfigureController_Pressed(sender, PlayerIndex.Player5);
            _configureController6.Pressed      += (sender, args) => ConfigureController_Pressed(sender, PlayerIndex.Player6);
            _configureController7.Pressed      += (sender, args) => ConfigureController_Pressed(sender, PlayerIndex.Player7);
            _configureController8.Pressed      += (sender, args) => ConfigureController_Pressed(sender, PlayerIndex.Player8);
            _configureControllerH.Pressed      += (sender, args) => ConfigureController_Pressed(sender, PlayerIndex.Handheld);
            _systemTimeZoneEntry.FocusOutEvent += TimeZoneEntry_FocusOut;

            _resScaleCombo.Changed += (sender, args) => _resScaleText.Visible = _resScaleCombo.ActiveId == "-1";

            // Setup Currents.
            if (ConfigurationState.Instance.Logger.EnableFileLog)
            {
                _fileLogToggle.Click();
            }

            if (ConfigurationState.Instance.Logger.EnableError)
            {
                _errorLogToggle.Click();
            }

            if (ConfigurationState.Instance.Logger.EnableWarn)
            {
                _warningLogToggle.Click();
            }

            if (ConfigurationState.Instance.Logger.EnableInfo)
            {
                _infoLogToggle.Click();
            }

            if (ConfigurationState.Instance.Logger.EnableStub)
            {
                _stubLogToggle.Click();
            }

            if (ConfigurationState.Instance.Logger.EnableDebug)
            {
                _debugLogToggle.Click();
            }

            if (ConfigurationState.Instance.Logger.EnableGuest)
            {
                _guestLogToggle.Click();
            }

            if (ConfigurationState.Instance.Logger.EnableFsAccessLog)
            {
                _fsAccessLogToggle.Click();
            }

            foreach (GraphicsDebugLevel level in Enum.GetValues(typeof(GraphicsDebugLevel)))
            {
                _graphicsDebugLevel.Append(level.ToString(), level.ToString());
            }

            _graphicsDebugLevel.SetActiveId(ConfigurationState.Instance.Logger.GraphicsDebugLevel.Value.ToString());

            if (ConfigurationState.Instance.System.EnableDockedMode)
            {
                _dockedModeToggle.Click();
            }

            if (ConfigurationState.Instance.EnableDiscordIntegration)
            {
                _discordToggle.Click();
            }

            if (ConfigurationState.Instance.CheckUpdatesOnStart)
            {
                _checkUpdatesToggle.Click();
            }

            if (ConfigurationState.Instance.ShowConfirmExit)
            {
                _showConfirmExitToggle.Click();
            }

            if (ConfigurationState.Instance.HideCursorOnIdle)
            {
                _hideCursorOnIdleToggle.Click();
            }

            if (ConfigurationState.Instance.Graphics.EnableVsync)
            {
                _vSyncToggle.Click();
            }

            if (ConfigurationState.Instance.Graphics.EnableShaderCache)
            {
                _shaderCacheToggle.Click();
            }

            if (ConfigurationState.Instance.System.EnablePtc)
            {
                _ptcToggle.Click();
            }

            if (ConfigurationState.Instance.System.EnableFsIntegrityChecks)
            {
                _fsicToggle.Click();
            }

            if (ConfigurationState.Instance.System.ExpandRam)
            {
                _expandRamToggle.Click();
            }

            if (ConfigurationState.Instance.System.IgnoreMissingServices)
            {
                _ignoreToggle.Click();
            }

            if (ConfigurationState.Instance.Hid.EnableKeyboard)
            {
                _directKeyboardAccess.Click();
            }

            if (ConfigurationState.Instance.Ui.EnableCustomTheme)
            {
                _custThemeToggle.Click();
            }

            // Custom EntryCompletion Columns. If added to glade, need to override more signals
            ListStore tzList = new ListStore(typeof(string), typeof(string), typeof(string));

            _systemTimeZoneCompletion.Model = tzList;

            CellRendererText offsetCol = new CellRendererText();
            CellRendererText abbrevCol = new CellRendererText();

            _systemTimeZoneCompletion.PackStart(offsetCol, false);
            _systemTimeZoneCompletion.AddAttribute(offsetCol, "text", 0);
            _systemTimeZoneCompletion.TextColumn = 1; // Regions Column
            _systemTimeZoneCompletion.PackStart(abbrevCol, false);
            _systemTimeZoneCompletion.AddAttribute(abbrevCol, "text", 2);

            int maxLocationLength = 0;

            foreach (var(offset, location, abbr) in _timeZoneContentManager.ParseTzOffsets())
            {
                var hours   = Math.DivRem(offset, 3600, out int seconds);
                var minutes = Math.Abs(seconds) / 60;

                var abbr2 = (abbr.StartsWith('+') || abbr.StartsWith('-')) ? string.Empty : abbr;

                tzList.AppendValues($"UTC{hours:+0#;-0#;+00}:{minutes:D2} ", location, abbr2);
                _validTzRegions.Add(location);

                maxLocationLength = Math.Max(maxLocationLength, location.Length);
            }

            _systemTimeZoneEntry.WidthChars = Math.Max(20, maxLocationLength + 1); // Ensure minimum Entry width
            _systemTimeZoneEntry.Text       = _timeZoneContentManager.SanityCheckDeviceLocationName(ConfigurationState.Instance.System.TimeZone);

            _systemTimeZoneCompletion.MatchFunc = TimeZoneMatchFunc;

            _systemLanguageSelect.SetActiveId(ConfigurationState.Instance.System.Language.Value.ToString());
            _systemRegionSelect.SetActiveId(ConfigurationState.Instance.System.Region.Value.ToString());
            _resScaleCombo.SetActiveId(ConfigurationState.Instance.Graphics.ResScale.Value.ToString());
            _anisotropy.SetActiveId(ConfigurationState.Instance.Graphics.MaxAnisotropy.Value.ToString());
            _aspectRatio.SetActiveId(((int)ConfigurationState.Instance.Graphics.AspectRatio.Value).ToString());

            _custThemePath.Buffer.Text           = ConfigurationState.Instance.Ui.CustomThemePath;
            _resScaleText.Buffer.Text            = ConfigurationState.Instance.Graphics.ResScaleCustom.Value.ToString();
            _resScaleText.Visible                = _resScaleCombo.ActiveId == "-1";
            _graphicsShadersDumpPath.Buffer.Text = ConfigurationState.Instance.Graphics.ShadersDumpPath;
            _fsLogSpinAdjustment.Value           = ConfigurationState.Instance.System.FsGlobalAccessLogMode;
            _systemTimeOffset = ConfigurationState.Instance.System.SystemTimeOffset;

            _gameDirsBox.AppendColumn("", new CellRendererText(), "text", 0);
            _gameDirsBoxStore  = new ListStore(typeof(string));
            _gameDirsBox.Model = _gameDirsBoxStore;

            foreach (string gameDir in ConfigurationState.Instance.Ui.GameDirs.Value)
            {
                _gameDirsBoxStore.AppendValues(gameDir);
            }

            if (_custThemeToggle.Active == false)
            {
                _custThemePath.Sensitive      = false;
                _custThemePathLabel.Sensitive = false;
                _browseThemePath.Sensitive    = false;
            }

            //Setup system time spinners
            UpdateSystemTimeSpinners();

            _audioBackendStore = new ListStore(typeof(string), typeof(AudioBackend));

            TreeIter openAlIter  = _audioBackendStore.AppendValues("OpenAL", AudioBackend.OpenAl);
            TreeIter soundIoIter = _audioBackendStore.AppendValues("SoundIO", AudioBackend.SoundIo);
            TreeIter sdl2Iter    = _audioBackendStore.AppendValues("SDL2", AudioBackend.SDL2);
            TreeIter dummyIter   = _audioBackendStore.AppendValues("Dummy", AudioBackend.Dummy);

            _audioBackendSelect = ComboBox.NewWithModelAndEntry(_audioBackendStore);
            _audioBackendSelect.EntryTextColumn  = 0;
            _audioBackendSelect.Entry.IsEditable = false;

            switch (ConfigurationState.Instance.System.AudioBackend.Value)
            {
            case AudioBackend.OpenAl:
                _audioBackendSelect.SetActiveIter(openAlIter);
                break;

            case AudioBackend.SoundIo:
                _audioBackendSelect.SetActiveIter(soundIoIter);
                break;

            case AudioBackend.SDL2:
                _audioBackendSelect.SetActiveIter(sdl2Iter);
                break;

            case AudioBackend.Dummy:
                _audioBackendSelect.SetActiveIter(dummyIter);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            _audioBackendBox.Add(_audioBackendSelect);
            _audioBackendSelect.Show();

            bool openAlIsSupported  = false;
            bool soundIoIsSupported = false;
            bool sdl2IsSupported    = false;

            Task.Run(() =>
            {
                openAlIsSupported  = OpenALHardwareDeviceDriver.IsSupported;
                soundIoIsSupported = SoundIoHardwareDeviceDriver.IsSupported;
                sdl2IsSupported    = SDL2HardwareDeviceDriver.IsSupported;
            });

            // This function runs whenever the dropdown is opened
            _audioBackendSelect.SetCellDataFunc(_audioBackendSelect.Cells[0], (layout, cell, model, iter) =>
            {
                cell.Sensitive = ((AudioBackend)_audioBackendStore.GetValue(iter, 1)) switch
                {
                    AudioBackend.OpenAl => openAlIsSupported,
                    AudioBackend.SoundIo => soundIoIsSupported,
                    AudioBackend.SDL2 => sdl2IsSupported,
                    AudioBackend.Dummy => true,
                    _ => throw new ArgumentOutOfRangeException()
                };
            });
 static void SetText(CellRendererText textRenderer, TreeModel model, TreeIter iter, Task task, string text)
 {
     textRenderer.Text          = text;
     textRenderer.Weight        = (int)((bool)model.GetValue(iter, DataColumns.Read) ? Pango.Weight.Normal : Pango.Weight.Bold);
     textRenderer.Strikethrough = task.Completed;
 }
Example #43
0
        public LayersListWidget()
        {
            CanFocus = false;
            SetSizeRequest(200, 200);

            SetPolicy(PolicyType.Automatic, PolicyType.Automatic);

            tree = new TreeView();

            tree.HeadersVisible  = false;
            tree.FixedHeightMode = true;
            tree.Reorderable     = false;
            tree.EnableGridLines = TreeViewGridLines.None;
            tree.EnableTreeLines = false;
            tree.ShowExpanders   = false;
            tree.CanFocus        = false;

            var crs = new CellRendererSurface(thumbnail_width, thumbnail_height);
            var col = new TreeViewColumn("Thumbnail", crs, "surface", store_index_thumbnail);

            col.Sizing     = TreeViewColumnSizing.Fixed;
            col.FixedWidth = thumbnail_column_width;
            tree.AppendColumn(col);

            var textCell = new CellRendererText();

            textCell.Ellipsize = Pango.EllipsizeMode.End;
            col          = new TreeViewColumn("Name", textCell, "text", store_index_name);
            col.Sizing   = TreeViewColumnSizing.Fixed;
            col.Expand   = true;
            col.MinWidth = name_column_min_width;
            col.MaxWidth = name_column_max_width;
            tree.AppendColumn(col);

            var crt = new CellRendererToggle();

            crt.Activatable = true;
            crt.Toggled    += LayerVisibilityToggled;

            col            = new TreeViewColumn("Visible", crt, "active", store_index_visibility);
            col.Sizing     = TreeViewColumnSizing.Fixed;
            col.FixedWidth = visibility_column_width;
            tree.AppendColumn(col);

            store = new TreeStore(typeof(Cairo.ImageSurface), typeof(string), typeof(bool), typeof(Layer));

            tree.Model         = store;
            tree.RowActivated += HandleRowActivated;

            Add(tree);

            PintaCore.Layers.LayerAdded           += HandleLayerAddedOrRemoved;
            PintaCore.Layers.LayerRemoved         += HandleLayerAddedOrRemoved;
            PintaCore.Layers.SelectedLayerChanged += HandleSelectedLayerChanged;
            PintaCore.Layers.LayerPropertyChanged += HandlePintaCoreLayersLayerPropertyChanged;

            PintaCore.History.HistoryItemAdded += HandleHistoryItemAdded;
            PintaCore.History.ActionRedone     += HandleHistoryItemAdded;
            PintaCore.History.ActionUndone     += HandleHistoryItemAdded;

            tree.CursorChanged += HandleLayerSelected;


            ShowAll();
        }
Example #44
0
        /// <summary>
        /// Default constructor that configures the Completion form.
        /// </summary>
        public EditorView(ViewBase owner) : base(owner)
        {
            scroller   = new ScrolledWindow();
            textEditor = new MonoTextEditor();
            scroller.Add(textEditor);
            _mainWidget = scroller;
            Mono.TextEditor.TextEditorOptions options = new Mono.TextEditor.TextEditorOptions();
            options.EnableSyntaxHighlighting = true;
            options.ColorScheme                = "Visual Studio";
            options.HighlightCaretLine         = true;
            textEditor.Options                 = options;
            textEditor.TextArea.DoPopupMenu    = DoPopup;
            textEditor.Document.LineChanged   += OnTextHasChanged;
            textEditor.TextArea.FocusInEvent  += OnTextBoxEnter;
            textEditor.TextArea.FocusOutEvent += OnTextBoxLeave;
            _mainWidget.Destroyed             += _mainWidget_Destroyed;

            AddContextActionWithAccel("Cut", OnCut, "Ctrl+X");
            AddContextActionWithAccel("Copy", OnCopy, "Ctrl+C");
            AddContextActionWithAccel("Paste", OnPaste, "Ctrl+V");
            AddContextActionWithAccel("Delete", OnDelete, "Delete");
            AddContextSeparator();
            AddContextActionWithAccel("Undo", OnUndo, "Ctrl+Z");
            AddContextActionWithAccel("Redo", OnRedo, "Ctrl+Y");
            AddContextActionWithAccel("Find", OnFind, "Ctrl+F");
            AddContextActionWithAccel("Replace", OnReplace, "Ctrl+H");

            CompletionForm                 = new Window(WindowType.Toplevel);
            CompletionForm.Decorated       = false;
            CompletionForm.SkipPagerHint   = true;
            CompletionForm.SkipTaskbarHint = true;
            Frame completionFrame = new Frame();

            CompletionForm.Add(completionFrame);
            ScrolledWindow completionScroller = new ScrolledWindow();

            completionFrame.Add(completionScroller);
            completionModel = new ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string));
            CompletionView  = new TreeView(completionModel);
            completionScroller.Add(CompletionView);
            TreeViewColumn     column     = new TreeViewColumn();
            CellRendererPixbuf iconRender = new Gtk.CellRendererPixbuf();

            column.PackStart(iconRender, false);
            CellRendererText textRender = new Gtk.CellRendererText();

            textRender.Editable = false;
            column.PackStart(textRender, true);
            column.SetAttributes(iconRender, "pixbuf", 0);
            column.SetAttributes(textRender, "text", 1);
            column.Title     = "Item";
            column.Resizable = true;
            CompletionView.AppendColumn(column);
            textRender       = new CellRendererText();
            column           = new TreeViewColumn("Units", textRender, "text", 2);
            column.Resizable = true;
            CompletionView.AppendColumn(column);
            textRender       = new CellRendererText();
            column           = new TreeViewColumn("Type", textRender, "text", 3);
            column.Resizable = true;
            CompletionView.AppendColumn(column);
            textRender       = new CellRendererText();
            column           = new TreeViewColumn("Descr", textRender, "text", 4);
            column.Resizable = true;
            CompletionView.AppendColumn(column);
            functionPixbuf = new Gdk.Pixbuf(null, "ApsimNG.Resources.Function.png", 16, 16);
            propertyPixbuf = new Gdk.Pixbuf(null, "ApsimNG.Resources.Property.png", 16, 16);
            textEditor.TextArea.KeyPressEvent += OnKeyPress;
            CompletionView.HasTooltip          = true;
            CompletionView.TooltipColumn       = 5;
            CompletionForm.FocusOutEvent      += OnLeaveCompletion;
            CompletionView.ButtonPressEvent   += OnContextListMouseDoubleClick;
            CompletionView.KeyPressEvent      += OnContextListKeyDown;
            CompletionView.KeyReleaseEvent    += CompletionView_KeyReleaseEvent;
            IntelliSenseChars = ".";
        }
Example #45
0
        public void UpdateChooser(string [] folders)
        {
            if (folders == null)
            {
                folders = Controller.Folders;
            }

            if (this.combo_box_wrapper != null && this.combo_box_wrapper.Parent != null)
            {
                this.layout_horizontal.Remove(this.combo_box_wrapper);
                this.combo_box_wrapper.Remove(this.combo_box);
            }

            this.combo_box_wrapper = new HBox(false, 0);
            this.combo_box         = new ComboBox();

            CellRendererText cell = new CellRendererText();

            this.combo_box.PackStart(cell, false);
            this.combo_box.AddAttribute(cell, "text", 0);

            ListStore store = new ListStore(typeof(string));

            store.AppendValues(_("Summary"));
            store.AppendValues("---");

            this.combo_box.Model  = store;
            this.combo_box.Active = 0;

            int row = 2;

            foreach (string folder in folders)
            {
                store.AppendValues(folder);

                if (folder.Equals(Controller.SelectedFolder))
                {
                    this.combo_box.Active = row;
                }

                row++;
            }

            this.combo_box.RowSeparatorFunc = delegate(TreeModel model, TreeIter iter) {
                string item = (string)this.combo_box.Model.GetValue(iter, 0);
                return(item == "---");
            };

            this.combo_box.Changed += delegate {
                TreeIter iter;
                this.combo_box.GetActiveIter(out iter);
                string   selection = (string)this.combo_box.Model.GetValue(iter, 0);
                TreePath path      = this.combo_box.Model.GetPath(iter);

                if (path.Indices [0] == 0)
                {
                    Controller.SelectedFolder = null;
                }
                else
                {
                    Controller.SelectedFolder = selection;
                }
            };

            this.combo_box_wrapper.PackStart(new Label(" "), false, false, 9);
            this.combo_box_wrapper.PackStart(this.combo_box, true, true, 0);

            this.layout_horizontal.BorderWidth = 9;
            this.layout_horizontal.PackStart(this.combo_box_wrapper, true, true, 0);
            this.layout_horizontal.ShowAll();
        }
Example #46
0
        public DeviceChooserDialog()
        {
            this.Build();

            /*
             * var banner = new HeaderBanner () {
             *      Text = GettextCatalog.GetString ("Select Device"),
             *      Image = Gdk.Pixbuf.LoadFromResource ("banner.png"),
             * };
             * bannerPlaceholder.Add (banner);
             * bannerPlaceholder.ShowAll ();*/

            deviceListTreeView.Model = store;
            var txtRenderer = new CellRendererText();

            deviceListTreeView.AppendColumn("Devices", txtRenderer, DeviceDataFunc);

            createEmulatorButton.Clicked += delegate {
                MonoDroidFramework.Toolbox.StartAvdManager();
            };

            startEmulatorButton.Clicked += delegate {
                TreeIter iter;
                if (deviceListTreeView.Selection.GetSelected(out iter))
                {
                    var dd = (DisplayDevice)store.GetValue(iter, 0);
                    //status.StartOperation (GettextCatalog.GetString ("Starting virtual device '{0}'...", avd.Name));
                    if (dd.VirtualDevice != null)
                    {
                        MonoDroidFramework.VirtualDeviceManager.StartEmulator(dd.VirtualDevice);
                    }
                }
            };

            deviceListTreeView.Selection.Changed += UpdatedSelection;

            deviceListTreeView.RowActivated += delegate(object o, RowActivatedArgs args) {
                TreeIter iter;
                if (store.GetIter(out iter, args.Path))
                {
                    var dd = (DisplayDevice)store.GetValue(iter, 0);
                    if (dd.Device != null)
                    {
                        Device = dd.Device;
                        Respond(ResponseType.Ok);
                    }
                }
            };

            buttonOk.Sensitive            = false;
            startEmulatorButton.Sensitive = false;

            MonoDroidFramework.DeviceManager.DevicesUpdated += OnDevicesUpdated;
            MonoDroidFramework.VirtualDeviceManager.Changed += OnVirtualDevicesUpdated;
            OnDevicesUpdated(null, EventArgs.Empty);

            restartAdbButton.Clicked += delegate {
                store.Clear();
                restartAdbButton.Sensitive = false;
                MonoDroidFramework.DeviceManager.RestartAdbServer(() => {
                    Gtk.Application.Invoke(delegate {
                        if (!destroyed)
                        {
                            restartAdbButton.Sensitive = true;
                        }
                    });
                });
            };

            isTrial = MonoDroidFramework.IsTrial;

            if (isTrial)
            {
                var ib  = new MonoDevelop.Components.InfoBar();
                var img = new Image(typeof(DeviceChooserDialog).Assembly, "information.png");
                img.SetAlignment(0.5f, 0.5f);
                ib.PackEnd(img, false, false, 0);
                var msg = GettextCatalog.GetString("Trial version only supports the emulator");
                ib.MessageArea.Add(new Gtk.Label(msg)
                {
                    Yalign = 0.5f,
                    Xalign = 0f,
                    Style  = ib.Style,
                });
                string buyMessage;
                if (PropertyService.IsMac)
                {
                    buyMessage = GettextCatalog.GetString("Buy Full Version");
                }
                else
                {
                    buyMessage = GettextCatalog.GetString("Activate");
                }
                var buyButton = new Button(buyMessage);
                buyButton.Clicked += delegate {
                    if (MonoDroidFramework.Activate())
                    {
                        UnTrialify();
                    }
                };
                ib.ActionArea.Add(buyButton);
                ib.ShowAll();
                bannerPlaceholder.Add(ib);
            }
        }
Example #47
0
        public override void LaunchDialogue()
        {
            //the Type in the collection
            IList  collection  = (IList)Value;
            string displayName = Property.DisplayName;

            //populate list with existing items
            ListStore itemStore = new ListStore(typeof(object), typeof(int), typeof(string));

            for (int i = 0; i < collection.Count; i++)
            {
                itemStore.AppendValues(collection [i], i, collection [i].ToString());
            }

            #region Building Dialogue

            TreeView     itemTree;
            PropertyGrid grid;
            TreeIter     previousIter = TreeIter.Zero;

            //dialogue and buttons
            var dialog = new Gtk.Dialog()
            {
                Title       = displayName + " Editor",
                Modal       = true,
                AllowGrow   = true,
                AllowShrink = true,
            };
            IdeTheme.ApplyTheme(dialog);
            var toplevel = this.Container.GetNativeWidget <Gtk.Widget> ().Toplevel as Gtk.Window;
            if (toplevel != null)
            {
                dialog.TransientFor = toplevel;
            }

            dialog.AddActionWidget(new Button(Stock.Cancel), ResponseType.Cancel);
            dialog.AddActionWidget(new Button(Stock.Ok), ResponseType.Ok);

            //three columns for items, sorting, PropGrid
            HBox hBox = new HBox();
            dialog.VBox.PackStart(hBox, true, true, 5);

            //propGrid at end
            grid = new PropertyGrid(base.EditorManager)
            {
                CurrentObject = null,
                WidthRequest  = 200,
                ShowHelp      = false
            };
            hBox.PackEnd(grid, true, true, 5);

            //followed by a ButtonBox
            VBox buttonBox = new VBox();
            buttonBox.Spacing = 6;
            hBox.PackEnd(buttonBox, false, false, 5);

            //add/remove buttons
            Button addButton = new Button(new ImageView(Stock.Add, IconSize.Button));
            buttonBox.PackStart(addButton, false, false, 0);
            if (types [0].IsAbstract)
            {
                addButton.Sensitive = false;
            }
            Button removeButton = new Button(new ImageView(Stock.Remove, IconSize.Button));
            buttonBox.PackStart(removeButton, false, false, 0);

            //sorting buttons
            Button upButton = new Button(new ImageView(Stock.GoUp, IconSize.Button));
            buttonBox.PackStart(upButton, false, false, 0);
            Button downButton = new Button(new ImageView(Stock.GoDown, IconSize.Button));
            buttonBox.PackStart(downButton, false, false, 0);

            //Third column has list (TreeView) in a ScrolledWindow
            ScrolledWindow listScroll = new ScrolledWindow();
            listScroll.WidthRequest  = 200;
            listScroll.HeightRequest = 320;
            hBox.PackStart(listScroll, false, false, 5);

            itemTree = new TreeView(itemStore);
            itemTree.Selection.Mode = SelectionMode.Single;
            itemTree.HeadersVisible = false;
            listScroll.AddWithViewport(itemTree);

            //renderers and attribs for TreeView
            CellRenderer rdr = new CellRendererText();
            itemTree.AppendColumn(new TreeViewColumn("Index", rdr, "text", 1));
            rdr = new CellRendererText();
            itemTree.AppendColumn(new TreeViewColumn("Object", rdr, "text", 2));

            #endregion

            #region Events

            addButton.Clicked += delegate {
                //create the object
                object instance = System.Activator.CreateInstance(types[0]);

                //get existing selection and insert after it
                TreeIter oldIter, newIter;
                if (itemTree.Selection.GetSelected(out oldIter))
                {
                    newIter = itemStore.InsertAfter(oldIter);
                }
                //or append if no previous selection
                else
                {
                    newIter = itemStore.Append();
                }
                itemStore.SetValue(newIter, 0, instance);

                //select, set name and update all the indices
                itemTree.Selection.SelectIter(newIter);
                UpdateName(itemStore, newIter);
                UpdateIndices(itemStore);
            };

            removeButton.Clicked += delegate {
                //get selected iter and the replacement selection
                TreeIter iter, newSelection;
                if (!itemTree.Selection.GetSelected(out iter))
                {
                    return;
                }

                newSelection = iter;
                if (!IterPrev(itemStore, ref newSelection))
                {
                    newSelection = iter;
                    if (!itemStore.IterNext(ref newSelection))
                    {
                        newSelection = TreeIter.Zero;
                    }
                }

                //new selection. Zeroing previousIter prevents trying to update name of deleted iter.
                previousIter = TreeIter.Zero;
                if (itemStore.IterIsValid(newSelection))
                {
                    itemTree.Selection.SelectIter(newSelection);
                }

                //and the removal and index update
                itemStore.Remove(ref iter);
                UpdateIndices(itemStore);
            };

            upButton.Clicked += delegate {
                TreeIter iter, prev;
                if (!itemTree.Selection.GetSelected(out iter))
                {
                    return;
                }

                //get previous iter
                prev = iter;
                if (!IterPrev(itemStore, ref prev))
                {
                    return;
                }

                //swap the two
                itemStore.Swap(iter, prev);

                //swap indices too
                object prevVal = itemStore.GetValue(prev, 1);
                object iterVal = itemStore.GetValue(iter, 1);
                itemStore.SetValue(prev, 1, iterVal);
                itemStore.SetValue(iter, 1, prevVal);
            };

            downButton.Clicked += delegate {
                TreeIter iter, next;
                if (!itemTree.Selection.GetSelected(out iter))
                {
                    return;
                }

                //get next iter
                next = iter;
                if (!itemStore.IterNext(ref next))
                {
                    return;
                }

                //swap the two
                itemStore.Swap(iter, next);

                //swap indices too
                object nextVal = itemStore.GetValue(next, 1);
                object iterVal = itemStore.GetValue(iter, 1);
                itemStore.SetValue(next, 1, iterVal);
                itemStore.SetValue(iter, 1, nextVal);
            };

            itemTree.Selection.Changed += delegate {
                TreeIter iter;
                if (!itemTree.Selection.GetSelected(out iter))
                {
                    removeButton.Sensitive = false;
                    return;
                }
                removeButton.Sensitive = true;

                //update grid
                object obj = itemStore.GetValue(iter, 0);
                grid.CurrentObject = obj;

                //update previously selected iter's name
                UpdateName(itemStore, previousIter);

                //update current selection so we can update
                //name next selection change
                previousIter = iter;
            };

            grid.Changed += delegate {
                TreeIter iter;
                if (itemTree.Selection.GetSelected(out iter))
                {
                    UpdateName(itemStore, iter);
                }
            };

            TreeIter selectionIter;
            removeButton.Sensitive = itemTree.Selection.GetSelected(out selectionIter);

            dialog.ShowAll();
            grid.ShowToolbar = false;

            #endregion

            //if 'OK' put items back in collection
            using (dialog) {
                if (MonoDevelop.Ide.MessageService.ShowCustomDialog(dialog, toplevel) == (int)ResponseType.Ok)
                {
                    DesignerTransaction tran = CreateTransaction(Instance);
                    object old = collection;

                    try {
                        collection.Clear();
                        foreach (object[] o in itemStore)
                        {
                            collection.Add(o [0]);
                        }
                        EndTransaction(Instance, tran, old, collection, true);
                    } catch {
                        EndTransaction(Instance, tran, old, collection, false);
                        throw;
                    }
                }
            }
        }
Example #48
0
        void crea_treeview_ordendecompra()
        {
            treeViewEngineordendecompra = new ListStore(typeof(bool),            //0
                                                        typeof(string),
                                                        typeof(string),
                                                        typeof(string),
                                                        typeof(string),
                                                        typeof(string),
                                                        typeof(string),
                                                        typeof(string),
                                                        typeof(string));

            lista_almacenes.Model     = treeViewEngineordendecompra;
            lista_almacenes.RulesHint = true;

            TreeViewColumn     col_seleccion = new TreeViewColumn();
            CellRendererToggle cellr0        = new CellRendererToggle();

            col_seleccion.Title = "Seleccion";
            col_seleccion.PackStart(cellr0, true);
            col_seleccion.AddAttribute(cellr0, "active", 0);
            cellr0.Activatable         = true;
            cellr0.Toggled            += selecciona_fila_grupo;
            col_seleccion.SortColumnId = (int)col_ordencompra.col_seleccion;

            TreeViewColumn   col_nro_oc = new TreeViewColumn();
            CellRendererText cellr1     = new CellRendererText();

            col_nro_oc.Title = "N° O.C.";
            col_nro_oc.PackStart(cellr1, true);
            col_nro_oc.AddAttribute(cellr1, "text", 1);
            cellr1.Foreground       = "darkblue";
            col_nro_oc.SortColumnId = (int)col_ordencompra.col_nro_oc;

            TreeViewColumn   col_sub = new TreeViewColumn();
            CellRendererText cellr2  = new CellRendererText();

            col_sub.Title = "Fecha O.C.";
            col_sub.PackStart(cellr2, true);
            col_sub.AddAttribute(cellr2, "text", 2);
            cellr2.Foreground    = "darkblue";
            col_sub.SortColumnId = (int)col_ordencompra.col_sub;

            TreeViewColumn   col_fecha_envio = new TreeViewColumn();
            CellRendererText cellr3          = new CellRendererText();

            col_fecha_envio.Title = "ID Proveedor";
            col_fecha_envio.PackStart(cellr3, true);
            col_fecha_envio.AddAttribute(cellr3, "text", 3);
            cellr3.Foreground            = "darkblue";
            col_fecha_envio.SortColumnId = (int)col_ordencompra.col_fecha_envio;

            TreeViewColumn   col_id_sol = new TreeViewColumn();
            CellRendererText cellr4     = new CellRendererText();

            col_id_sol.Title = "Nombre Proveedor";
            col_id_sol.PackStart(cellr4, true);
            col_id_sol.AddAttribute(cellr4, "text", 4);
            cellr4.Foreground       = "darkblue";
            col_id_sol.SortColumnId = (int)col_ordencompra.col_id_sol;

            TreeViewColumn   col_numeroatencion = new TreeViewColumn();
            CellRendererText cellr6             = new CellRendererText();

            col_numeroatencion.Title = "N° Atencion";             // titulo de la cabecera de la columna, si está visible
            col_numeroatencion.PackStart(cellr6, true);
            col_numeroatencion.AddAttribute(cellr6, "text", 6);
            cellr6.Foreground = "darkblue";
            col_numeroatencion.SortColumnId = (int)col_ordencompra.col_numeroatencion;

            TreeViewColumn   col_pidpaciente = new TreeViewColumn();
            CellRendererText cellr7          = new CellRendererText();

            col_pidpaciente.Title = "Codigo";             // titulo de la cabecera de la columna, si está visible
            col_pidpaciente.PackStart(cellr7, true);
            col_pidpaciente.AddAttribute(cellr7, "text", 7);
            cellr7.Foreground            = "darkblue";
            col_pidpaciente.SortColumnId = (int)col_ordencompra.col_pidpaciente;

            TreeViewColumn   col_nombrepaciente = new TreeViewColumn();
            CellRendererText cellr8             = new CellRendererText();

            col_nombrepaciente.Title = "Nombre Proveedor";             // titulo de la cabecera de la columna, si está visible
            col_nombrepaciente.PackStart(cellr8, true);
            col_nombrepaciente.AddAttribute(cellr8, "text", 8);
            cellr8.Foreground = "darkblue";
            col_nombrepaciente.SortColumnId = (int)col_ordencompra.col_nombrepaciente;

            lista_almacenes.AppendColumn(col_seleccion);
            lista_almacenes.AppendColumn(col_nro_oc);
            lista_almacenes.AppendColumn(col_sub);
            lista_almacenes.AppendColumn(col_fecha_envio);
            lista_almacenes.AppendColumn(col_id_sol);
            lista_almacenes.AppendColumn(col_numeroatencion);
            lista_almacenes.AppendColumn(col_pidpaciente);
            lista_almacenes.AppendColumn(col_nombrepaciente);
        }
Example #49
0
        private void BuildInterface()
        {
            Gui.Initialize(this);

            Name           = "ProjectWindow";
            Title          = "Projects";
            WindowPosition = WindowPosition.Center;
            Icon           = new Pixbuf(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, !ApplicationHelper.IsUnix ? @"Content\img\todo.png": @"Content/img/todo.png"));

            var uiManager = new UIManager();

            var actionGrp = new ActionGroup("Default");

            var mainMenu = new MenuBar
            {
                Name = "mainMenu"
            };

            var fileMenu = new Menu();

            var fileMenuItem = new MenuItem("_File")
            {
                Name    = "fileMenuItem",
                Submenu = fileMenu
            };

            #region Menubar items

            var fileNewMenuItem = new MenuItem("_New");
            fileNewMenuItem.Activated += FileNewMenuItem_OnActivated;
            fileMenu.Append(fileNewMenuItem);

            var fileOpenMenuItem = new MenuItem("_Open");
            fileOpenMenuItem.Activated += OpenActionOnActivated;
            fileMenu.Append(fileOpenMenuItem);

            var fileSaveMenuItem = new MenuItem("_Save");
            fileMenu.Append(fileSaveMenuItem);
            fileSaveMenuItem.Activated += SaveItem_OnActivated;

            var hsepfilemenu = new SeparatorMenuItem {
                Name = "FileMenuSeparator"
            };
            fileMenu.Append(hsepfilemenu);

            var fileExitMenuItem = new MenuItem("_Exit");
            fileExitMenuItem.Activated += fileExitMenuItem_Clicked;
            fileMenu.Append(fileExitMenuItem);

            var windowPane = new HPaned();

            mainMenu.Append(fileMenuItem);

            _addCategoryAction = new Action("addCategoryAction",
                                            "New _Category", "Add a new category", "CircledPlus");
            _addCategoryAction.Activated += AddCategory_Clicked;
            actionGrp.Add(_addCategoryAction, null);

            _removeCategoryAction = new Action("removeCategoryAction",
                                               "_Remove Category", "Remove the selected category", "CircledMinus");
            _removeCategoryAction.Activated += DeleteCategory_Clicked;
            actionGrp.Add(_removeCategoryAction, null);

            _addTaskItemAction = new Action("addTaskItemAction",
                                            "New _Task", "Add a new task", "CircledPlus");
            _addTaskItemAction.Activated += AddTaskItem_Clicked;
            actionGrp.Add(_addTaskItemAction, null);

            _modifyTaskItemAction = new Action("modifyTaskItemAction",
                                               "Modify_Task", "Modify task", "CircledPlus");
            _modifyTaskItemAction.Activated += ModifyTaskItemActionOnActivated;
            actionGrp.Add(_modifyTaskItemAction, null);

            _removeTaskItemAction = new Action("removeTaskItemAction",
                                               "Remove Task", "Removes the selected task", "CircledMinus");
            _removeTaskItemAction.Activated += DeleteTaskItem_Clicked;
            actionGrp.Add(_removeTaskItemAction, null);

            uiManager.InsertActionGroup(actionGrp, 0);

            AddAccelGroup(uiManager.AccelGroup);

            #endregion

            var windowContainer = new VBox
            {
                Name    = "mainWindowContainer",
                Spacing = 3
            };

            _categorySidebar = new VBox
            {
                Name         = "categorySidebar",
                Spacing      = 6,
                ResizeMode   = ResizeMode.Parent,
                WidthRequest = 210
            };

            uiManager.AddUiFromString(
                "<ui>" +
                "<toolbar name='categoryToolbar'>" +
                "<toolitem name='addCategoryAction' action='addCategoryAction'/>" +
                "<toolitem name='removeCategoryAction' action='removeCategoryAction'/>" +
                "</toolbar>" +
                "</ui>");

            _categoryToolbar           = (Toolbar)uiManager.GetWidget("/categoryToolbar");
            _categoryToolbar.Events    = (EventMask)8992;
            _categoryToolbar.Name      = "catToolbar";
            _categoryToolbar.ShowArrow = false;

            var calendarExpander = new Expander(null)
            {
                CanFocus = true,
                Name     = "CategoryExpander",
                Expanded = true
            };

            _calendar = new Calendar
            {
                CanFocus       = true,
                Name           = "calendar",
                DisplayOptions = (CalendarDisplayOptions)35
            };
            _calendar.MonthChanged += Calendar_MonthChanged;

            calendarExpander.Add(_calendar);

            var calendarExpanderLabel = new Label
            {
                Name         = "CalendarExpanderLabel",
                LabelProp    = "Calendar",
                UseUnderline = true
            };

            calendarExpander.LabelWidget = calendarExpanderLabel;

            var categoryExpander = new Expander(null)
            {
                CanFocus = true,
                Name     = "CategoryExpander",
                Expanded = true
            };

            var categoryExpanderContainer = new VBox
            {
                Name    = "categoryExpanderContainer",
                Spacing = 3
            };

            var categoryPane = new VPaned();

            var categoryContainer = new ScrolledWindow
            {
                Name             = "CategoryContainer",
                ShadowType       = ShadowType.None,
                HscrollbarPolicy = PolicyType.Automatic,
                VscrollbarPolicy = PolicyType.Automatic
            };

            categoryContainer.HScrollbar.Visible = true;
            categoryContainer.VScrollbar.Visible = true;

            var categoryContainerLabel = new Label
            {
                Name = "CategoryContainerLabel"
            };

            var categoryDescriptionScroll = new ScrolledWindow
            {
                Name             = "categoryDescriptionScroll",
                ShadowType       = (ShadowType)1,
                VscrollbarPolicy = PolicyType.Automatic,
                HscrollbarPolicy = PolicyType.Automatic
            };

            var descriptionHBox = new VBox
            {
                Name      = "descriptionHBox",
                HasWindow = false
            };

            var descriptionFixed = new Fixed
            {
                Name      = "descriptionFixed",
                HasWindow = false
            };

            _categoryDescriptionLabel = new Label
            {
                Name = "categoryDescriptionLabel",
                Text = "Description"
            };

            _categoryDescription = new TextView
            {
                Name          = "categoryDescription",
                BorderWidth   = 2,
                Editable      = false,
                WrapMode      = WrapMode.WordChar,
                HscrollPolicy = ScrollablePolicy.Natural,
                Buffer        = { Text = "No category selected\n\rDouble click a category to show its description." }
            };

            var noteBookContainer = new VBox
            {
                Name    = "NotebookContainer",
                Spacing = 3,
                Margin  = 5
            };

            _noteBook = new Notebook
            {
                Scrollable = true
            };

            noteBookContainer.Add(_noteBook);
            var noteBookContainerChild = (Box.BoxChild)noteBookContainer[_noteBook];
            noteBookContainerChild.Expand = true;
            noteBookContainerChild.Fill   = true;

            var taskViewContainer = new VBox
            {
                Name    = "TaskTableListContainer",
                Spacing = 3
            };

            uiManager.AddUiFromString(
                "<ui>" +
                "<toolbar name='taskToolbar'>" +
                "<toolitem name='addTaskItemAction' action='addTaskItemAction'/>" +
                "<toolitem name='modifyTaskItemAction' action='modifyTaskItemAction'/>" +
                "<toolitem name='removeTaskItemAction' action='removeTaskItemAction'/>" +
                "</toolbar>" +
                "</ui>");

            var taskToolbar = (Toolbar)uiManager.GetWidget("/taskToolbar");
            taskToolbar.Events    = (EventMask)8992;
            taskToolbar.Name      = "taskToolbar";
            taskToolbar.ShowArrow = false;

            var recordsWindow = new ScrolledWindow
            {
                Name             = "recordsWindow",
                ShadowType       = (ShadowType)1,
                VscrollbarPolicy = PolicyType.Automatic,
                HscrollbarPolicy = PolicyType.Automatic
            };

            #region Category table properties

            _categoryTreeView = new TreeView();

            _categoryItemId = new TreeViewColumn
            {
                Title     = "ID",
                Resizable = true,
                Visible   = false
            };

            var categoryIdCell = new CellRendererText();
            _categoryItemId.PackStart(categoryIdCell, false);
            _categoryItemId.SetCellDataFunc(categoryIdCell, RenderCategoryId);

            _categoryItemName = new TreeViewColumn {
                Title = "Category", Resizable = true
            };
            var categoryNameCell = new CellRendererText();
            _categoryItemName.PackStart(categoryNameCell, false);
            _categoryItemName.SetCellDataFunc(categoryNameCell, RenderCategoryName);
            categoryNameCell.Edited += CategoryItemNameCell_Edited;

            _categoryItemToggle = new TreeViewColumn {
                Title = "Show", Resizable = true
            };
            var categoryToggleCell = new CellRendererToggle();
            _categoryItemToggle.PackStart(categoryToggleCell, false);
            _categoryItemToggle.SetCellDataFunc(categoryToggleCell, RenderCategoryToggle);
            categoryToggleCell.Toggled += CategoryItem_Toggled;

            _categoryStore          = new ListStore(typeof(Category));
            _categoryTreeView.Model = _categoryStore;

            _categoryTreeView.AppendColumn(_categoryItemId);
            _categoryTreeView.AppendColumn(_categoryItemName);
            _categoryTreeView.AppendColumn(_categoryItemToggle);
            _categoryTreeView.RowActivated += CategoryTreeView_RowActivated;

            #endregion categoryTable_properties

            #region MainView properties

            _mainView = new TreeView();

            _taskId = new TreeViewColumn
            {
                Title     = "ID",
                Resizable = true,
#if !DEBUG
                Visible = false
#endif
#if DEBUG
                Visible = true
                #endif
            };

            var taslIdCell = new CellRendererText();
            _taskId.PackStart(taslIdCell, false);
            _taskId.SetCellDataFunc(taslIdCell, RenderTaskItemId);

            _taskName = new TreeViewColumn {
                Title = "Title", Resizable = true
            };
            var taskNameCell = new CellRendererText();
            _taskName.PackStart(taskNameCell, false);

            _taskName.SetCellDataFunc(taskNameCell, RenderTaskItemName);

            _taskCategory = new TreeViewColumn {
                Title = "Category", Resizable = true
            };
            var taskCategoryCell = new CellRendererText();
            _taskCategory.PackStart(taskCategoryCell, false);
            _taskCategory.SetCellDataFunc(taskCategoryCell, RenderTaskItemCategory);

            _taskPriority = new TreeViewColumn {
                Title = "Priority", Resizable = true
            };
            var taskPriorityCell = new CellRendererText();
            _taskPriority.PackStart(taskPriorityCell, false);
            _taskPriority.SetCellDataFunc(taskPriorityCell, RenderTaskItemPriority);

            _taskStartDate = new TreeViewColumn {
                Title = "Start Date", Resizable = true
            };
            var taskStartCell = new CellRendererText();
            _taskStartDate.PackStart(taskStartCell, false);
            _taskStartDate.SetCellDataFunc(taskStartCell, RenderTaskItemStart);

            _taskDueDate = new TreeViewColumn {
                Title = "Due Date", Resizable = true
            };
            var taskDueCell = new CellRendererText();
            _taskDueDate.PackStart(taskDueCell, true);
            _taskDueDate.SetCellDataFunc(taskDueCell, RenderTaskItemFinish);

            _taskStore = new ListStore(typeof(Activity));

            _mainView.Model = _taskStore;

            _mainView.AppendColumn(_taskId);
            _mainView.AppendColumn(_taskName);
            _mainView.AppendColumn(_taskCategory);
            _mainView.AppendColumn(_taskPriority);
            _mainView.AppendColumn(_taskStartDate);
            _mainView.AppendColumn(_taskDueDate);

            #endregion

            _fileActionProgBar = new ProgressBar
            {
                Name    = "fileActionProgBar",
                Visible = false
            };

            windowContainer.Add(mainMenu);

            var menuChild = (Box.BoxChild)windowContainer[mainMenu];
            menuChild.Fill   = false;
            menuChild.Expand = false;

            _categorySidebar.Add(calendarExpander);

            var sidebarChild = (Box.BoxChild)_categorySidebar[calendarExpander];
            sidebarChild.Position = 0;
            sidebarChild.Expand   = false;
            sidebarChild.Fill     = false;

            categoryExpanderContainer.Add(_categoryToolbar);
            categoryExpanderContainer.Add(_categoryTreeView);

            var toolbarChild = (Box.BoxChild)categoryExpanderContainer[_categoryToolbar];
            toolbarChild.Expand = false;
            toolbarChild.Fill   = false;


            categoryPane.Add(categoryContainer);
            categoryPane.Expand = true;

            var paneContainerChild = (Paned.PanedChild)categoryPane[categoryContainer];
            paneContainerChild.Resize = true;

            categoryContainer.AddWithViewport(categoryExpanderContainer);
            categoryContainerLabel.LabelProp    = "Categories";
            categoryContainerLabel.UseUnderline = true;
            categoryExpander.LabelWidget        = categoryContainerLabel;

            categoryPane.Add(descriptionHBox);

            var descriptionContainerChild = (Paned.PanedChild)categoryPane[descriptionHBox];
            descriptionContainerChild.Resize = true;
            categoryExpander.Add(categoryPane);


            descriptionHBox.Add(descriptionFixed);

            var descriptionFixedChild = (Box.BoxChild)descriptionHBox[descriptionFixed];
            descriptionFixedChild.Expand  = false;
            descriptionFixedChild.Padding = 5;

            descriptionFixed.Add(_categoryDescriptionLabel);

            var descriptionLabelChild = (Fixed.FixedChild)descriptionFixed[_categoryDescriptionLabel];
            descriptionLabelChild.X = 5;
            descriptionLabelChild.Y = 0;

            descriptionHBox.Add(categoryDescriptionScroll);

            var descriptionViewChild = (Box.BoxChild)descriptionHBox[categoryDescriptionScroll];
            descriptionViewChild.Expand = true;

            categoryDescriptionScroll.Add(_categoryDescription);

            categoryDescriptionScroll.AddWithViewport(_categoryDescription);

            _categorySidebar.Add(categoryExpander);

            var sidebarchild = (Box.BoxChild)_categorySidebar[categoryExpander];
            sidebarchild.Position = 1;

            windowPane.Add(_categorySidebar);

            taskViewContainer.Add(taskToolbar);

            var taskbarChild = (Box.BoxChild)taskViewContainer[taskToolbar];
            taskbarChild.Fill   = false;
            taskbarChild.Expand = false;

            recordsWindow.Add(_mainView);

            recordsWindow.AddWithViewport(_mainView);

            taskViewContainer.Add(recordsWindow);

            taskViewContainer.Add(_fileActionProgBar);

            var barChild = (Box.BoxChild)taskViewContainer[_fileActionProgBar];
            barChild.Expand = false;
            barChild.Fill   = false;

            _noteBook.AppendPage(taskViewContainer, new Label("Task List"));
            var taskContainerNoteBookContainer = (Notebook.NotebookChild)_noteBook[taskViewContainer];
            taskContainerNoteBookContainer.TabFill    = true;
            taskContainerNoteBookContainer.Detachable = false;

            windowPane.Add(noteBookContainer);

            windowContainer.Add(windowPane);

            Add(windowContainer);

            SetSizeRequest(800, 600);

            DestroyEvent += ProjectWindow_DestroyEvent;
            DeleteEvent  += OnDeleteEvent;
            ShowAll();

            _fileActionProgBar.Visible = false;
        }
    }
Example #50
0
        public override void Initialize(NodeBuilder[] builders, TreePadOption[] options, string menuPath)
        {
            base.Initialize(builders, options, menuPath);

            testChangedHandler            = (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnDetailsTestChanged));
            testService.TestSuiteChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnTestSuiteChanged));
            paned = new VPaned();

            VBox            vbox       = new VBox();
            DockItemToolbar topToolbar = Window.GetToolbar(PositionType.Top);

            buttonRunAll             = new Button(new Gtk.Image(Gtk.Stock.GoUp, IconSize.Menu));
            buttonRunAll.Clicked    += new EventHandler(OnRunAllClicked);
            buttonRunAll.Sensitive   = true;
            buttonRunAll.TooltipText = GettextCatalog.GetString("Run all tests");
            topToolbar.Add(buttonRunAll);

            buttonRun             = new Button(new Gtk.Image(Gtk.Stock.Execute, IconSize.Menu));
            buttonRun.Clicked    += new EventHandler(OnRunClicked);
            buttonRun.Sensitive   = true;
            buttonRun.TooltipText = GettextCatalog.GetString("Run test");
            topToolbar.Add(buttonRun);

            buttonStop             = new Button(new Gtk.Image(Gtk.Stock.Stop, IconSize.Menu));
            buttonStop.Clicked    += new EventHandler(OnStopClicked);
            buttonStop.Sensitive   = false;
            buttonStop.TooltipText = GettextCatalog.GetString("Cancel running test");
            topToolbar.Add(buttonStop);
            topToolbar.ShowAll();

            vbox.PackEnd(base.Control, true, true, 0);
            vbox.FocusChain = new Gtk.Widget [] { base.Control };

            paned.Pack1(vbox, true, true);

            detailsPad = new VBox();

            EventBox eb     = new EventBox();
            HBox     header = new HBox();

            eb.Add(header);

            detailLabel         = new HeaderLabel();
            detailLabel.Padding = 6;

            Button hb = new Button(new Gtk.Image("gtk-close", IconSize.SmallToolbar));

            hb.Relief   = ReliefStyle.None;
            hb.Clicked += new EventHandler(OnCloseDetails);
            header.PackEnd(hb, false, false, 0);

            hb          = new Button(new Gtk.Image("gtk-go-back", IconSize.SmallToolbar));
            hb.Relief   = ReliefStyle.None;
            hb.Clicked += new EventHandler(OnGoBackTest);
            header.PackEnd(hb, false, false, 0);

            header.Add(detailLabel);
            Gdk.Color hcol = eb.Style.Background(StateType.Normal);
            hcol.Red   = (ushort)(((double)hcol.Red) * 0.9);
            hcol.Green = (ushort)(((double)hcol.Green) * 0.9);
            hcol.Blue  = (ushort)(((double)hcol.Blue) * 0.9);
            //	eb.ModifyBg (StateType.Normal, hcol);

            detailsPad.PackStart(eb, false, false, 0);

            VPaned panedDetails = new VPaned();

            panedDetails.BorderWidth = 3;
            VBox boxPaned1 = new VBox();

            chart = new TestChart();
            chart.ButtonReleaseEvent += new Gtk.ButtonReleaseEventHandler(OnChartPopupMenu);
            chart.SelectionChanged   += new EventHandler(OnChartDateChanged);
            chart.HeightRequest       = 50;

            Toolbar toolbar = new Toolbar();

            toolbar.IconSize     = IconSize.SmallToolbar;
            toolbar.ToolbarStyle = ToolbarStyle.Icons;
            toolbar.ShowArrow    = false;
            ToolButton but = new ToolButton("gtk-zoom-in");

            but.Clicked += new EventHandler(OnZoomIn);
            toolbar.Insert(but, -1);

            but          = new ToolButton("gtk-zoom-out");
            but.Clicked += new EventHandler(OnZoomOut);
            toolbar.Insert(but, -1);

            but          = new ToolButton("gtk-go-back");
            but.Clicked += new EventHandler(OnChartBack);
            toolbar.Insert(but, -1);

            but          = new ToolButton("gtk-go-forward");
            but.Clicked += new EventHandler(OnChartForward);
            toolbar.Insert(but, -1);

            but          = new ToolButton("gtk-goto-last");
            but.Clicked += new EventHandler(OnChartLast);
            toolbar.Insert(but, -1);

            boxPaned1.PackStart(toolbar, false, false, 0);
            boxPaned1.PackStart(chart, true, true, 0);

            panedDetails.Pack1(boxPaned1, false, false);

            // Detailed test information --------

            infoBook = new ButtonNotebook();
            infoBook.PageLoadRequired += new EventHandler(OnPageLoadRequired);

            // Info - Group summary

            Frame          tf = new Frame();
            ScrolledWindow sw = new ScrolledWindow();

            detailsTree = new TreeView();

            detailsTree.HeadersVisible = true;
            detailsTree.RulesHint      = true;
            detailsStore = new ListStore(typeof(object), typeof(string), typeof(string), typeof(string), typeof(string));

            CellRendererText trtest = new CellRendererText();
            CellRendererText tr;

            TreeViewColumn col3 = new TreeViewColumn();

            col3.Expand = false;
//			col3.Alignment = 0.5f;
            col3.Widget = new Gtk.Image(CircleImage.Success);
            col3.Widget.Show();
            tr = new CellRendererText();
//			tr.Xalign = 0.5f;
            col3.PackStart(tr, false);
            col3.AddAttribute(tr, "markup", 2);
            detailsTree.AppendColumn(col3);

            TreeViewColumn col4 = new TreeViewColumn();

            col4.Expand = false;
//			col4.Alignment = 0.5f;
            col4.Widget = new Gtk.Image(CircleImage.Failure);
            col4.Widget.Show();
            tr = new CellRendererText();
//			tr.Xalign = 0.5f;
            col4.PackStart(tr, false);
            col4.AddAttribute(tr, "markup", 3);
            detailsTree.AppendColumn(col4);

            TreeViewColumn col5 = new TreeViewColumn();

            col5.Expand = false;
//			col5.Alignment = 0.5f;
            col5.Widget = new Gtk.Image(CircleImage.NotRun);
            col5.Widget.Show();
            tr = new CellRendererText();
//			tr.Xalign = 0.5f;
            col5.PackStart(tr, false);
            col5.AddAttribute(tr, "markup", 4);
            detailsTree.AppendColumn(col5);

            TreeViewColumn col1 = new TreeViewColumn();

//			col1.Resizable = true;
//			col1.Expand = true;
            col1.Title = "Test";
            col1.PackStart(trtest, true);
            col1.AddAttribute(trtest, "markup", 1);
            detailsTree.AppendColumn(col1);

            detailsTree.Model = detailsStore;

            sw.Add(detailsTree);
            tf.Add(sw);
            tf.ShowAll();

            TestSummaryPage = infoBook.AddPage(GettextCatalog.GetString("Summary"), tf);

            // Info - Regressions list

            tf = new Frame();
            sw = new ScrolledWindow();
            tf.Add(sw);
            regressionTree = new TreeView();
            regressionTree.HeadersVisible = false;
            regressionTree.RulesHint      = true;
            regressionStore = new ListStore(typeof(object), typeof(string), typeof(Pixbuf));

            CellRendererText trtest2 = new CellRendererText();
            var pr = new CellRendererPixbuf();

            TreeViewColumn col = new TreeViewColumn();

            col.PackStart(pr, false);
            col.AddAttribute(pr, "pixbuf", 2);
            col.PackStart(trtest2, false);
            col.AddAttribute(trtest2, "markup", 1);
            regressionTree.AppendColumn(col);
            regressionTree.Model = regressionStore;
            sw.Add(regressionTree);
            tf.ShowAll();

            TestRegressionsPage = infoBook.AddPage(GettextCatalog.GetString("Regressions"), tf);

            // Info - Failed tests list

            tf = new Frame();
            sw = new ScrolledWindow();
            tf.Add(sw);
            failedTree = new TreeView();
            failedTree.HeadersVisible = false;
            failedTree.RulesHint      = true;
            failedStore = new ListStore(typeof(object), typeof(string), typeof(Pixbuf));

            trtest2 = new CellRendererText();
            pr      = new CellRendererPixbuf();

            col = new TreeViewColumn();
            col.PackStart(pr, false);
            col.AddAttribute(pr, "pixbuf", 2);
            col.PackStart(trtest2, false);
            col.AddAttribute(trtest2, "markup", 1);
            failedTree.AppendColumn(col);
            failedTree.Model = failedStore;
            sw.Add(failedTree);
            tf.ShowAll();

            TestFailuresPage = infoBook.AddPage(GettextCatalog.GetString("Failed tests"), tf);

            // Info - results

            tf = new Frame();
            sw = new ScrolledWindow();
            tf.Add(sw);
            resultView          = new TextView();
            resultView.Editable = false;
            sw.Add(resultView);
            tf.ShowAll();
            TestResultPage = infoBook.AddPage(GettextCatalog.GetString("Result"), tf);

            // Info - Output

            tf = new Frame();
            sw = new ScrolledWindow();
            tf.Add(sw);
            outputView          = new TextView();
            outputView.Editable = false;
            sw.Add(outputView);
            tf.ShowAll();
            TestOutputPage = infoBook.AddPage(GettextCatalog.GetString("Output"), tf);

            panedDetails.Pack2(infoBook, true, true);
            detailsPad.PackStart(panedDetails, true, true, 0);
            paned.Pack2(detailsPad, true, true);

            paned.ShowAll();

            infoBook.HidePage(TestResultPage);
            infoBook.HidePage(TestOutputPage);
            infoBook.HidePage(TestSummaryPage);
            infoBook.HidePage(TestRegressionsPage);
            infoBook.HidePage(TestFailuresPage);

            detailsPad.Sensitive = false;
            detailsPad.Hide();

            detailsTree.RowActivated    += new Gtk.RowActivatedHandler(OnTestActivated);
            regressionTree.RowActivated += new Gtk.RowActivatedHandler(OnRegressionTestActivated);
            failedTree.RowActivated     += new Gtk.RowActivatedHandler(OnFailedTestActivated);

            foreach (UnitTest t in testService.RootTests)
            {
                TreeView.AddChild(t);
            }
        }
        public DirtyFilesDialog() : base(GettextCatalog.GetString("Save Files"), IdeApp.Workbench.RootWindow, DialogFlags.Modal)
        {
            tsFiles = new TreeStore(typeof(string), typeof(bool), typeof(SdiWorkspaceWindow), typeof(bool));
            tvFiles = new TreeView(tsFiles);
            TreeIter  topCombineIter = TreeIter.Zero;
            Hashtable projectIters   = new Hashtable();

            foreach (Document doc in IdeApp.Workbench.Documents)
            {
                if (!doc.IsDirty)
                {
                    continue;
                }

                IViewContent viewcontent = doc.Window.ViewContent;

                if (viewcontent.Project != null)
                {
                    TreeIter projIter = TreeIter.Zero;
                    if (projectIters.ContainsKey(viewcontent.Project))
                    {
                        projIter = (TreeIter)projectIters[viewcontent.Project];
                    }
                    else
                    {
                        if (topCombineIter.Equals(TreeIter.Zero))
                        {
                            projIter = tsFiles.AppendValues(GettextCatalog.GetString("Project: {0}", viewcontent.Project.Name), true, null, false);
                        }
                        else
                        {
                            projIter = tsFiles.AppendValues(topCombineIter, GettextCatalog.GetString("Project: {0}", viewcontent.Project.Name), true, null, false);
                        }
                        projectIters[viewcontent.Project] = projIter;
                    }
                    tsFiles.AppendValues(projIter, viewcontent.PathRelativeToProject, true, viewcontent.WorkbenchWindow);
                }
                else
                {
                    if (viewcontent.ContentName == null)
                    {
                        viewcontent.ContentName = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), viewcontent.UntitledName);
                    }
                    tsFiles.AppendValues(viewcontent.ContentName, true, viewcontent.WorkbenchWindow);
                }
            }
            if (!topCombineIter.Equals(TreeIter.Zero))
            {
                if (!tsFiles.IterHasChild(topCombineIter))
                {
                    tsFiles.Remove(ref topCombineIter);
                }
            }

            TreeViewColumn mainColumn = new TreeViewColumn();

            mainColumn.Title = "header";

            togRender          = new CellRendererToggle();
            togRender.Toggled += toggled;
            mainColumn.PackStart(togRender, false);
            mainColumn.AddAttribute(togRender, "active", 1);
            mainColumn.AddAttribute(togRender, "inconsistent", 3);

            textRender = new CellRendererText();
            mainColumn.PackStart(textRender, true);
            mainColumn.AddAttribute(textRender, "text", 0);

            tvFiles.AppendColumn(mainColumn);
            tvFiles.HeadersVisible = false;
            tvFiles.ExpandAll();

            ScrolledWindow sc = new ScrolledWindow();

            sc.Add(tvFiles);
            sc.ShadowType = ShadowType.In;

            sc.BorderWidth = 6;
            this.VBox.PackStart(sc, true, true, 6);

            btnSaveAndQuit = new Button(GettextCatalog.GetString("_Save and Quit"));
            btnQuit        = new Button(Gtk.Stock.Quit);
            btnCancel      = new Button(Gtk.Stock.Cancel);

            btnSaveAndQuit.Clicked += SaveAndQuit;
            btnQuit.Clicked        += Quit;
            btnCancel.Clicked      += Cancel;

            this.ActionArea.PackStart(btnCancel);
            this.ActionArea.PackStart(btnQuit);
            this.ActionArea.PackStart(btnSaveAndQuit);
            this.SetDefaultSize(300, 200);
            this.ShowAll();
        }
        public GtkCertificateViewer(string filename)
        {
            Application.Init();

            Glade.XML gxml = new Glade.XML(null, "certview.glade", "CertificateViewer", null);
            gxml.Autoconnect(this);

            cf = new CertificateFormatter(filename);

            // init UI
            brokenSealImage.Pixbuf = new Pixbuf(null, "wax-seal-broken.png");
            sealImage.Pixbuf       = new Pixbuf(null, "wax-seal.png");

            Tooltips tt = new Tooltips();

            issuedToEntry.Text = cf.Issuer(false);
            tt.SetTip(issuedToEntry, issuedToEntry.Text, issuedToEntry.Text);
            issuedByEntry.Text = cf.Subject(false);
            tt.SetTip(issuedByEntry, issuedByEntry.Text, issuedByEntry.Text);

            subjectAltNameLabel.Text    = cf.SubjectAltName(false);
            subjectAltNameLabel.Visible = (subjectAltNameLabel.Text != null);

            notBeforeEntry.Text = cf.Certificate.ValidFrom.ToString("yyyy-MM-dd");
            notAfterEntry.Text  = cf.Certificate.ValidUntil.ToString("yyyy-MM-dd");

            TextBuffer tb = new TextBuffer(null);

            if (cf.Status != null)
            {
                tb.SetText(cf.Status);
            }
            certStatusTextview.Buffer = tb;
            if (cf.Status != null)
            {
                certInfoTextview.Buffer = tb;
                certInfoTextview.ModifyText(StateType.Normal, new Gdk.Color(0xff, 0x00, 0x00));
            }

            sealImage.Visible       = (cf.Status == null);
            brokenSealImage.Visible = !sealImage.Visible;

            Type[] storeType = new Type [4] {
                typeof(string), typeof(string), typeof(string), typeof(int)
            };
            allStore        = new ListStore(storeType);
            v1Store         = new ListStore(storeType);
            extensionsStore = new ListStore(storeType);
            criticalStore   = new ListStore(storeType);
            propertiesStore = new ListStore(storeType);
            emptyStore      = new ListStore(storeType);

            AddToStores(CertificateFormatter.FieldNames.Version, cf.Version(false), cf.Version(true), 1);
            AddToStores(CertificateFormatter.FieldNames.SerialNumber, cf.SerialNumber(false), cf.SerialNumber(true), 0);
            AddToStores(CertificateFormatter.FieldNames.SignatureAlgorithm, cf.SignatureAlgorithm(false), cf.SignatureAlgorithm(true), 0);
            AddToStores(CertificateFormatter.FieldNames.Issuer, cf.Issuer(false), cf.Issuer(true), 0);
            AddToStores(CertificateFormatter.FieldNames.ValidFrom, cf.ValidFrom(false), cf.ValidFrom(true), 0);
            AddToStores(CertificateFormatter.FieldNames.ValidUntil, cf.ValidUntil(false), cf.ValidUntil(true), 0);
            AddToStores(CertificateFormatter.FieldNames.Subject, cf.Subject(false), cf.Subject(true), 0);
            AddToStores(CertificateFormatter.FieldNames.PublicKey, cf.PublicKey(false), cf.PublicKey(true), 0);
            for (int i = 0; i < cf.Certificate.Extensions.Count; i++)
            {
                X509Extension xe   = cf.GetExtension(i);
                string        name = xe.Name;
                int           icon = 2;
                if (xe.Critical)
                {
                    icon = 3;
                }
                string exts = xe.ToString();
                string details;
                if (xe.Name == xe.Oid)
                {
                    exts    = cf.Extension(i, false);
                    details = cf.Extension(i, true);
                }
                else
                {
                    details = xe.ToString();
                    exts    = CertificateFormatter.OneLine(details);
                }

                AddToStores(name, exts, details, icon);
            }
            AddToStores(CertificateFormatter.PropertyNames.ThumbprintAlgorithm, cf.ThumbprintAlgorithm, cf.ThumbprintAlgorithm, 4);
            string ftb = CertificateFormatter.Array2Word(cf.Thumbprint);

            AddToStores(CertificateFormatter.PropertyNames.Thumbprint, ftb, ftb, 4);

            // select appropriate store to show
            OnShowComboChanged(null, null);

            TreeViewColumn     fieldColumn   = new TreeViewColumn();
            CellRendererPixbuf pr            = new CellRendererPixbuf();
            CellRenderer       fieldRenderer = new CellRendererText();

            fieldColumn.PackStart(pr, false);
            fieldColumn.SetCellDataFunc(pr, CellDataFunc, IntPtr.Zero, null);
            fieldColumn.Title = "Field";
            fieldColumn.PackStart(fieldRenderer, false);
            fieldColumn.AddAttribute(fieldRenderer, "text", 0);
            detailsTreeview.AppendColumn(fieldColumn);

            TreeViewColumn valueColumn   = new TreeViewColumn();
            CellRenderer   valueRenderer = new CellRendererText();

            valueColumn.Title = "Value";
            valueColumn.PackStart(valueRenderer, true);
            valueColumn.AddAttribute(valueRenderer, "text", 1);
            detailsTreeview.AppendColumn(valueColumn);

//			detailsTreeview.ModifyText (StateType.Selected, new Gdk.Color (0x33, 0xff, 0x33));

            Application.Run();
        }
Example #53
0
        public AddinManagerDialog(Window parent, SetupService service)
        {
            this.service = service;
            Build();
            TransientFor = parent;
            HasSeparator = false;
            Services.PlaceDialog(this, parent);

            addininfoInstalled.Init(service);
            addininfoGallery.Init(service);

            addinTree.Selection.Mode = SelectionMode.Multiple;
            tree = new AddinTreeWidget(addinTree);
            addinTree.Selection.Changed += OnSelectionChanged;
            tree.VersionVisible          = false;

            galleryTreeView.Selection.Mode = SelectionMode.Multiple;
            galleryTree = new AddinTreeWidget(galleryTreeView);
            galleryTree.VersionVisible         = false;
            galleryTree.ShowInstalledMarkers   = true;
            galleryTreeView.Selection.Changed += OnGallerySelectionChanged;

            updatesTreeView.Selection.Mode = SelectionMode.Multiple;
            updatesTree = new AddinTreeWidget(updatesTreeView);
            updatesTree.VersionVisible         = false;
            updatesTree.ShowCategories         = false;
            updatesTree.ShowInstalledMarkers   = true;
            updatesTreeView.Selection.Changed += OnGallerySelectionChanged;

            repoStore       = new ListStore(typeof(string), typeof(string));
            repoCombo.Model = repoStore;
            CellRendererText crt = new CellRendererText();

            repoCombo.PackStart(crt, true);
            repoCombo.AddAttribute(crt, "text", 0);
            repoCombo.RowSeparatorFunc = delegate(TreeModel model, TreeIter iter) {
                string val = (string)model.GetValue(iter, 0);
                return(val == "---");
            };

            // Make sure the tree has the focus when switching tabs

            vboxUpdates.FocusChain = new Widget [] { scrolledUpdates, eboxRepoUpdates };
            vboxGallery.FocusChain = new Widget [] { scrolledGallery, eboxRepo };

            // Improve the look of the headers

            HBox tab = new HBox(false, 3);

            tab.PackStart(new Image(Gdk.Pixbuf.LoadFromResource("plugin-22.png")), false, false, 0);
            installedTabLabel = new Label(Catalog.GetString("Installed"));
            tab.PackStart(installedTabLabel, true, true, 0);
            tab.BorderWidth = 3;
            tab.ShowAll();
            notebook.SetTabLabel(notebook.GetNthPage(0), tab);

            tab = new HBox(false, 3);
            tab.PackStart(new Image(Gdk.Pixbuf.LoadFromResource("plugin-update-22.png")), false, false, 0);
            updatesTabLabel = new Label(Catalog.GetString("Updates"));
            tab.PackStart(updatesTabLabel, true, true, 0);
            tab.BorderWidth = 3;
            tab.ShowAll();
            notebook.SetTabLabel(notebook.GetNthPage(1), tab);

            tab = new HBox(false, 3);
            tab.PackStart(new Image(Gdk.Pixbuf.LoadFromResource("update-16.png")), false, false, 0);
            galleryTabLabel = new Label(Catalog.GetString("Gallery"));
            tab.PackStart(galleryTabLabel, true, true, 0);
            tab.BorderWidth = 3;
            tab.ShowAll();
            notebook.SetTabLabel(notebook.GetNthPage(2), tab);

            // Gradient header for the updates and gallery tabs

            HeaderBox hb = new HeaderBox(1, 0, 1, 1);

            hb.SetPadding(6, 6, 6, 6);
            hb.GradientBackround = true;
            hb.Show();
            hb.Replace(eboxRepo);

            hb = new HeaderBox(1, 0, 1, 1);
            hb.SetPadding(6, 6, 6, 6);
            hb.GradientBackround = true;
            hb.Show();
            hb.Replace(eboxRepoUpdates);

            InsertFilterEntry();

            FillRepos();
            repoCombo.Active = 0;

            LoadAll();
        }
Example #54
0
        void Init()
        {
            main   = new VBox(false, 6);
            widget = main;

            buttonCommit = new Gtk.Button()
            {
                Image = new Gtk.Image("vc-commit", Gtk.IconSize.Menu),
                Label = GettextCatalog.GetString("Commit...")
            };
            buttonCommit.Image.Show();
            buttonRevert = new Gtk.Button()
            {
                Image = new Gtk.Image("vc-revert-command", Gtk.IconSize.Menu),
                Label = GettextCatalog.GetString("Revert")
            };
            buttonRevert.Image.Show();
            showRemoteStatus = new Gtk.Button()
            {
                Image = new Gtk.Image("vc-remote-status", Gtk.IconSize.Menu),
                Label = GettextCatalog.GetString("Show Remote Status")
            };
            showRemoteStatus.Image.Show();

            status = new Label("");
            main.PackStart(status, false, false, 0);

            scroller                = new ScrolledWindow();
            scroller.ShadowType     = Gtk.ShadowType.None;
            filelist                = new FileTreeView();
            filelist.Selection.Mode = Gtk.SelectionMode.Multiple;

            scroller.Add(filelist);
            scroller.HscrollbarPolicy   = PolicyType.Automatic;
            scroller.VscrollbarPolicy   = PolicyType.Automatic;
            filelist.RowActivated      += OnRowActivated;
            filelist.DiffLineActivated += OnDiffLineActivated;

            CellRendererToggle cellToggle = new CellRendererToggle();

            cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler);
            var crc = new CellRendererIcon();

            crc.StockId       = "vc-comment";
            colCommit         = new TreeViewColumn();
            colCommit.Spacing = 2;
            colCommit.Widget  = new Gtk.Image("vc-commit", Gtk.IconSize.Menu);
            colCommit.Widget.Show();
            colCommit.PackStart(cellToggle, false);
            colCommit.PackStart(crc, false);
            colCommit.AddAttribute(cellToggle, "active", ColCommit);
            colCommit.AddAttribute(cellToggle, "visible", ColShowToggle);
            colCommit.AddAttribute(crc, "visible", ColShowComment);

            CellRendererText crt     = new CellRendererText();
            var            crp       = new CellRendererPixbuf();
            TreeViewColumn colStatus = new TreeViewColumn();

            colStatus.Title = GettextCatalog.GetString("Status");
            colStatus.PackStart(crp, false);
            colStatus.PackStart(crt, true);
            colStatus.AddAttribute(crp, "pixbuf", ColIcon);
            colStatus.AddAttribute(crp, "visible", ColShowStatus);
            colStatus.AddAttribute(crt, "text", ColStatus);
            colStatus.AddAttribute(crt, "foreground", ColStatusColor);

            TreeViewColumn colFile = new TreeViewColumn();

            colFile.Title   = GettextCatalog.GetString("File");
            colFile.Spacing = 2;
            crp             = new CellRendererPixbuf();
            diffRenderer    = new CellRendererDiff();
            colFile.PackStart(crp, false);
            colFile.PackStart(diffRenderer, true);
            colFile.AddAttribute(crp, "pixbuf", ColIconFile);
            colFile.AddAttribute(crp, "visible", ColShowStatus);
            colFile.SetCellDataFunc(diffRenderer, new TreeCellDataFunc(SetDiffCellData));

            crt             = new CellRendererText();
            crp             = new CellRendererPixbuf();
            colRemote       = new TreeViewColumn();
            colRemote.Title = GettextCatalog.GetString("Remote Status");
            colRemote.PackStart(crp, false);
            colRemote.PackStart(crt, true);
            colRemote.AddAttribute(crp, "pixbuf", ColRemoteIcon);
            colRemote.AddAttribute(crt, "text", ColRemoteStatus);
            colRemote.AddAttribute(crt, "foreground", ColStatusColor);

            filelist.AppendColumn(colStatus);
            filelist.AppendColumn(colRemote);
            filelist.AppendColumn(colCommit);
            filelist.AppendColumn(colFile);

            colRemote.Visible = false;

            filestore               = new TreeStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string[]), typeof(string), typeof(bool), typeof(bool), typeof(string), typeof(bool), typeof(bool), typeof(Gdk.Pixbuf), typeof(bool), typeof(Gdk.Pixbuf), typeof(string), typeof(bool), typeof(bool));
            filelist.Model          = filestore;
            filelist.TestExpandRow += new Gtk.TestExpandRowHandler(OnTestExpandRow);

            commitBox = new VBox();

            HeaderBox commitMessageLabelBox = new HeaderBox();

            commitMessageLabelBox.SetPadding(6, 6, 6, 6);
            commitMessageLabelBox.SetMargins(1, 1, 0, 0);

            HBox labBox = new HBox();

            labelCommit        = new Gtk.Label(GettextCatalog.GetString("Commit message:"));
            labelCommit.Xalign = 0;
            labBox.PackStart(new Gtk.Image("vc-comment", Gtk.IconSize.Menu), false, false, 0);
            labBox.PackStart(labelCommit, true, true, 3);

            commitMessageLabelBox.Add(labBox);
            commitMessageLabelBox.ShowAll();
            //commitBox.PackStart (commitMessageLabelBox, false, false, 0);

            Gtk.ScrolledWindow frame = new Gtk.ScrolledWindow();
            frame.HeightRequest        = 75;
            frame.ShadowType           = ShadowType.None;
            commitText                 = new TextView();
            commitText.WrapMode        = WrapMode.WordChar;
            commitText.Buffer.Changed += OnCommitTextChanged;
            frame.Add(commitText);
            commitBox.PackStart(frame, true, true, 0);

            var paned = new VPanedThin();

            paned.HandleWidget = commitMessageLabelBox;
            paned.Pack1(scroller, true, true);
            paned.Pack2(commitBox, false, false);
            main.PackStart(paned, true, true, 0);

            main.ShowAll();
            status.Visible = false;

            filelist.Selection.Changed += new EventHandler(OnCursorChanged);
            VersionControlService.FileStatusChanged += OnFileStatusChanged;

            filelist.HeadersClickable = true;
            filestore.SetSortFunc(0, CompareNodes);
            colStatus.SortColumnId = 0;
            filestore.SetSortFunc(1, CompareNodes);
            colRemote.SortColumnId = 1;
            filestore.SetSortFunc(2, CompareNodes);
            colCommit.SortColumnId = 2;
            filestore.SetSortFunc(3, CompareNodes);
            colFile.SortColumnId = 3;

            filestore.SetSortColumnId(3, Gtk.SortType.Ascending);

            filelist.DoPopupMenu = DoPopupMenu;

            StartUpdate();
        }
Example #55
0
        public OptionsDialog(MonoDevelop.Components.Window parentWindow, object dataObject, string extensionPath, bool removeEmptySections)
        {
            buttonCancel = new Gtk.Button(Gtk.Stock.Cancel);
            buttonCancel.Accessible.Name        = "Dialogs.Options.Cancel";
            buttonCancel.Accessible.Description = GettextCatalog.GetString("Close the options dialog and discard any changes");
            AddActionWidget(this.buttonCancel, ResponseType.Cancel);

            buttonOk = new Gtk.Button(Gtk.Stock.Ok);
            buttonOk.Accessible.Name        = "Dialogs.Options.Ok";
            buttonOk.Accessible.Description = GettextCatalog.GetString("Close the options dialog and keep the changes");
            this.ActionArea.PackStart(buttonOk);
            buttonOk.Clicked += OnButtonOkClicked;

            mainHBox = new HBox();
            mainHBox.Accessible.SetShouldIgnore(true);
            tree = new TreeView();
            tree.Accessible.Name        = "Dialogs.Options.Categories";
            tree.Accessible.Description = GettextCatalog.GetString("The categories of options that are available in this dialog");

            var sw = new ScrolledWindow();

            sw.Accessible.SetShouldIgnore(true);
            sw.Add(tree);
            sw.HscrollbarPolicy = PolicyType.Never;
            sw.VscrollbarPolicy = PolicyType.Automatic;
            sw.ShadowType       = ShadowType.None;

            var fboxTree = new HeaderBox();

            fboxTree.Accessible.SetShouldIgnore(true);

            fboxTree.SetMargins(0, 1, 0, 1);
            fboxTree.SetPadding(0, 0, 0, 0);
            fboxTree.BackgroundColor = new Gdk.Color(255, 255, 255);
            fboxTree.Add(sw);
            mainHBox.PackStart(fboxTree, false, false, 0);

            Realized += delegate {
                fboxTree.BackgroundColor = tree.Style.Base(Gtk.StateType.Normal);
            };

            var vbox = new VBox();

            vbox.Accessible.SetShouldIgnore(true);
            mainHBox.PackStart(vbox, true, true, 0);
            var headerBox = new HBox(false, 6);

            headerBox.Accessible.SetShouldIgnore(true);

            labelTitle = new Label();
            labelTitle.Accessible.Name = "Dialogs.Options.PageTitle";
            labelTitle.Xalign          = 0;
            textHeader = new Alignment(0, 0, 1, 1);
            textHeader.Accessible.SetShouldIgnore(true);
            textHeader.Add(labelTitle);
            textHeader.BorderWidth = 12;
            headerBox.PackStart(textHeader, true, true, 0);

            imageHeader = new OptionsDialogHeader();
            imageHeader.Hide();
            var imageHeaderWidget = imageHeader.ToGtkWidget();

            imageHeaderWidget.Accessible.SetShouldIgnore(true);
            headerBox.PackStart(imageHeaderWidget);

            var fboxHeader = new HeaderBox();

            fboxHeader.Accessible.SetShouldIgnore(true);
            fboxHeader.SetMargins(0, 1, 0, 0);
            fboxHeader.Add(headerBox);
//			fbox.GradientBackround = true;
//			fbox.BackgroundColor = new Gdk.Color (255, 255, 255);
            Realized += delegate {
                var c = Style.Background(Gtk.StateType.Normal).ToXwtColor();
                c.Light += 0.09;
                fboxHeader.BackgroundColor = c.ToGdkColor();
            };
            StyleSet += delegate {
                if (IsRealized)
                {
                    var c = Style.Background(Gtk.StateType.Normal).ToXwtColor();
                    c.Light += 0.09;
                    fboxHeader.BackgroundColor = c.ToGdkColor();
                }
            };
            vbox.PackStart(fboxHeader, false, false, 0);

            pageFrame = new HBox();
            pageFrame.Accessible.SetShouldIgnore(true);
            var fbox = new HeaderBox();

            fbox.Accessible.SetShouldIgnore(true);
            fbox.SetMargins(0, 1, 0, 0);
            fbox.ShowTopShadow = true;
            fbox.Add(pageFrame);
            vbox.PackStart(fbox, true, true, 0);

            this.VBox.PackStart(mainHBox, true, true, 0);

            this.removeEmptySections = removeEmptySections;
            extensionContext         = AddinManager.CreateExtensionContext();

            this.mainDataObject = dataObject;
            this.extensionPath  = extensionPath;

            ImageService.EnsureStockIconIsLoaded(emptyCategoryIcon);

            store               = new TreeStore(typeof(OptionsDialogSection));
            tree.Model          = store;
            tree.HeadersVisible = false;

            // Column 0 is used to add some padding at the left of the expander
            TreeViewColumn col0 = new TreeViewColumn();

            col0.MinWidth = 6;
            tree.AppendColumn(col0);

            TreeViewColumn col = new TreeViewColumn();
            var            crp = new CellRendererImage();

            col.PackStart(crp, false);
            col.SetCellDataFunc(crp, PixbufCellDataFunc);
            var crt = new CellRendererText();

            col.PackStart(crt, true);
            col.SetCellDataFunc(crt, TextCellDataFunc);
            tree.AppendColumn(col);

            tree.ExpanderColumn = col;

            tree.Selection.Changed += OnSelectionChanged;

            Child.ShowAll();

            InitializeContext(extensionContext);

            FillTree();
            ExpandCategories();
            RestoreLastPanel();
            this.DefaultResponse = Gtk.ResponseType.Ok;

            buttonOk.CanDefault = true;
            buttonOk.GrabDefault();

            DefaultWidth  = 960;
            DefaultHeight = 680;
        }
Example #56
0
        public void ShowPage(PageType type, string [] warnings)
        {
            if (type == PageType.Setup)
            {
                Header      = "Welcome to SparkleShare!";
                Description = "First off, what’s your name and email?\n(visible only to team members)";

                Table table = new Table(2, 3, true)
                {
                    RowSpacing    = 6,
                    ColumnSpacing = 6
                };

                Label name_label = new Label("<b>" + "Full Name:" + "</b>")
                {
                    UseMarkup = true,
                    Xalign    = 1
                };

                Entry name_entry = new Entry()
                {
                    Xalign           = 0,
                    ActivatesDefault = true
                };

                try{
                    UnixUserInfo user_info = UnixUserInfo.GetRealUser();

                    if (user_info != null && user_info.RealName != null)
                    {
                        name_entry.Text = user_info.RealName.TrimEnd(",".ToCharArray());
                    }
                } catch (System.ArgumentException e) {
                    //ignore if could not get userName
                }
                Entry email_entry = new Entry()
                {
                    Xalign           = 0,
                    ActivatesDefault = true
                };

                Label email_label = new Label("<b>" + "Email:" + "</b>")
                {
                    UseMarkup = true,
                    Xalign    = 1
                };

                table.Attach(name_label, 0, 1, 0, 1);
                table.Attach(name_entry, 1, 2, 0, 1);
                table.Attach(email_label, 0, 1, 1, 2);
                table.Attach(email_entry, 1, 2, 1, 2);

                VBox wrapper = new VBox(false, 9);
                wrapper.PackStart(table, true, false, 0);

                Button cancel_button   = new Button("Cancel");
                Button continue_button = new Button("Continue")
                {
                    Sensitive = false
                };


                Controller.UpdateSetupContinueButtonEvent += delegate(bool button_enabled) {
                    Application.Invoke(delegate { continue_button.Sensitive = button_enabled; });
                };

                name_entry.Changed    += delegate { Controller.CheckSetupPage(name_entry.Text, email_entry.Text); };
                email_entry.Changed   += delegate { Controller.CheckSetupPage(name_entry.Text, email_entry.Text); };
                cancel_button.Clicked += delegate { Controller.SetupPageCancelled(); };

                continue_button.Clicked += delegate {
                    Controller.SetupPageCompleted(name_entry.Text, email_entry.Text);
                };


                AddButton(cancel_button);
                AddButton(continue_button);
                Add(wrapper);

                Controller.CheckSetupPage(name_entry.Text, email_entry.Text);

                if (name_entry.Text.Equals(""))
                {
                    name_entry.GrabFocus();
                }
                else
                {
                    email_entry.GrabFocus();
                }
            }

            if (type == PageType.Add)
            {
                Header = "Where’s your project hosted?";

                VBox layout_vertical = new VBox(false, 16);
                HBox layout_fields   = new HBox(true, 32);
                VBox layout_address  = new VBox(true, 0);
                VBox layout_path     = new VBox(true, 0);

                ListStore store = new ListStore(typeof(string), typeof(Gdk.Pixbuf), typeof(string), typeof(SparklePlugin));

                SparkleTreeView tree_view = new SparkleTreeView(store)
                {
                    HeadersVisible = false
                };
                ScrolledWindow scrolled_window = new ScrolledWindow()
                {
                    ShadowType = ShadowType.In
                };
                scrolled_window.SetPolicy(PolicyType.Never, PolicyType.Automatic);

                // Padding column
                tree_view.AppendColumn("Padding", new Gtk.CellRendererText(), "text", 0);
                tree_view.Columns [0].Cells [0].Xpad = 4;

                // Icon column
                tree_view.AppendColumn("Icon", new Gtk.CellRendererPixbuf(), "pixbuf", 1);
                tree_view.Columns [1].Cells [0].Xpad = 4;

                // Service column
                TreeViewColumn service_column = new TreeViewColumn()
                {
                    Title = "Service"
                };
                CellRendererText service_cell = new CellRendererText()
                {
                    Ypad = 8
                };
                service_column.PackStart(service_cell, true);
                service_column.SetCellDataFunc(service_cell, new TreeCellDataFunc(RenderServiceColumn));

                foreach (SparklePlugin plugin in Controller.Plugins)
                {
                    store.AppendValues("", new Gdk.Pixbuf(plugin.ImagePath),
                                       "<span size=\"small\"><b>" + plugin.Name + "</b>\n" +
                                       "<span fgcolor=\"" + SecondaryTextColor + "\">" + plugin.Description + "</span>" +
                                       "</span>", plugin);
                }

                tree_view.AppendColumn(service_column);
                scrolled_window.Add(tree_view);

                Entry address_entry = new Entry()
                {
                    Text             = Controller.PreviousAddress,
                    Sensitive        = (Controller.SelectedPlugin.Address == null),
                    ActivatesDefault = true
                };

                Entry path_entry = new Entry()
                {
                    Text             = Controller.PreviousPath,
                    Sensitive        = (Controller.SelectedPlugin.Path == null),
                    ActivatesDefault = true
                };

                Label address_example = new Label()
                {
                    Xalign    = 0,
                    UseMarkup = true,
                    Markup    = "<span size=\"small\" fgcolor=\"" +
                                SecondaryTextColor + "\">" + Controller.SelectedPlugin.AddressExample + "</span>"
                };

                Label path_example = new Label()
                {
                    Xalign    = 0,
                    UseMarkup = true,
                    Markup    = "<span size=\"small\" fgcolor=\"" +
                                SecondaryTextColor + "\">" + Controller.SelectedPlugin.PathExample + "</span>"
                };


                TreeSelection default_selection = tree_view.Selection;
                TreePath      default_path      = new TreePath("" + Controller.SelectedPluginIndex);
                default_selection.SelectPath(default_path);

                tree_view.Model.Foreach(new TreeModelForeachFunc(
                                            delegate(ITreeModel model, TreePath path, TreeIter iter) {
                    string address;

                    try {
                        address = (model.GetValue(iter, 2) as SparklePlugin).Address;
                    } catch (NullReferenceException) {
                        address = "";
                    }

                    if (!string.IsNullOrEmpty(address) &&
                        address.Equals(Controller.PreviousAddress))
                    {
                        tree_view.SetCursor(path, service_column, false);
                        SparklePlugin plugin = (SparklePlugin)model.GetValue(iter, 2);

                        if (plugin.Address != null)
                        {
                            address_entry.Sensitive = false;
                        }

                        if (plugin.Path != null)
                        {
                            path_entry.Sensitive = false;
                        }

                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                                            ));

                layout_address.PackStart(new Label()
                {
                    Markup = "<b>" + "Address" + "</b>",
                    Xalign = 0
                }, true, true, 0);

                layout_address.PackStart(address_entry, false, false, 0);
                layout_address.PackStart(address_example, false, false, 0);

                path_entry.Changed += delegate {
                    Controller.CheckAddPage(address_entry.Text, path_entry.Text, tree_view.SelectedRow);
                };

                layout_path.PackStart(new Label()
                {
                    Markup = "<b>" + "Remote Path" + "</b>",
                    Xalign = 0
                }, true, true, 0);

                layout_path.PackStart(path_entry, false, false, 0);
                layout_path.PackStart(path_example, false, false, 0);

                layout_fields.PackStart(layout_address, true, true, 0);
                layout_fields.PackStart(layout_path, true, true, 0);

                layout_vertical.PackStart(new Label(""), false, false, 0);
                layout_vertical.PackStart(scrolled_window, true, true, 0);
                layout_vertical.PackStart(layout_fields, false, false, 0);

                tree_view.ScrollToCell(new TreePath("" + Controller.SelectedPluginIndex), null, true, 0, 0);

                Add(layout_vertical);


                if (string.IsNullOrEmpty(path_entry.Text))
                {
                    address_entry.GrabFocus();
                    address_entry.Position = -1;
                }
                else
                {
                    path_entry.GrabFocus();
                    path_entry.Position = -1;
                }

                Button cancel_button = new Button("Cancel");
                Button add_button    = new Button("Add")
                {
                    Sensitive = false
                };


                Controller.ChangeAddressFieldEvent += delegate(string text,
                                                               string example_text, FieldState state) {
                    Application.Invoke(delegate {
                        address_entry.Text      = text;
                        address_entry.Sensitive = (state == FieldState.Enabled);
                        address_example.Markup  = "<span size=\"small\" fgcolor=\"" +
                                                  SecondaryTextColor + "\">" + example_text + "</span>";
                    });
                };

                Controller.ChangePathFieldEvent += delegate(string text,
                                                            string example_text, FieldState state) {
                    Application.Invoke(delegate {
                        path_entry.Text      = text;
                        path_entry.Sensitive = (state == FieldState.Enabled);
                        path_example.Markup  = "<span size=\"small\" fgcolor=\""
                                               + SecondaryTextColor + "\">" + example_text + "</span>";
                    });
                };

                Controller.UpdateAddProjectButtonEvent += delegate(bool button_enabled) {
                    Application.Invoke(delegate { add_button.Sensitive = button_enabled; });
                };


                tree_view.CursorChanged += delegate(object sender, EventArgs e) {
                    Controller.SelectedPluginChanged(tree_view.SelectedRow);
                };

                address_entry.Changed += delegate {
                    Controller.CheckAddPage(address_entry.Text, path_entry.Text, tree_view.SelectedRow);
                };

                cancel_button.Clicked += delegate { Controller.PageCancelled(); };
                add_button.Clicked    += delegate { Controller.AddPageCompleted(address_entry.Text, path_entry.Text); };


                CheckButton check_button = new CheckButton("Fetch prior history")
                {
                    Active = false
                };
                check_button.Toggled += delegate { Controller.HistoryItemChanged(check_button.Active); };

                AddOption(check_button);
                AddButton(cancel_button);
                AddButton(add_button);

                Controller.CheckAddPage(address_entry.Text, path_entry.Text, 1);
            }

            if (type == PageType.Invite)
            {
                Header      = "You’ve received an invite!";
                Description = "Do you want to add this project to SparkleShare?";

                Table table = new Table(2, 3, true)
                {
                    RowSpacing    = 6,
                    ColumnSpacing = 6
                };

                Label address_label = new Label("Address:")
                {
                    Xalign = 1
                };
                Label path_label = new Label("Remote Path:")
                {
                    Xalign = 1
                };

                Label address_value = new Label("<b>" + Controller.PendingInvite.Address + "</b>")
                {
                    UseMarkup = true,
                    Xalign    = 0
                };

                Label path_value = new Label("<b>" + Controller.PendingInvite.RemotePath + "</b>")
                {
                    UseMarkup = true,
                    Xalign    = 0
                };

                table.Attach(address_label, 0, 1, 0, 1);
                table.Attach(address_value, 1, 2, 0, 1);
                table.Attach(path_label, 0, 1, 1, 2);
                table.Attach(path_value, 1, 2, 1, 2);

                VBox wrapper = new VBox(false, 9);
                wrapper.PackStart(table, true, false, 0);

                Button cancel_button = new Button("Cancel");
                Button add_button    = new Button("Add");


                cancel_button.Clicked += delegate { Controller.PageCancelled(); };
                add_button.Clicked    += delegate { Controller.InvitePageCompleted(); };


                AddButton(cancel_button);
                AddButton(add_button);
                Add(wrapper);
            }

            if (type == PageType.Syncing)
            {
                Header      = String.Format("Adding project ‘{0}’…", Controller.SyncingFolder);
                Description = "This may take a while for large projects.\nIsn’t it coffee-o’clock?";

                ProgressBar progress_bar = new ProgressBar();
                progress_bar.Fraction = Controller.ProgressBarPercentage / 100;

                Button cancel_button = new Button()
                {
                    Label = "Cancel"
                };
                Button finish_button = new Button("Finish")
                {
                    Sensitive = false
                };

                Label progress_label = new Label("Preparing to fetch files…")
                {
                    Justify = Justification.Right,
                    Xalign  = 1
                };


                Controller.UpdateProgressBarEvent += delegate(double percentage, string speed) {
                    Application.Invoke(delegate {
                        progress_bar.Fraction = percentage / 100;
                        progress_label.Text   = speed;
                    });
                };

                cancel_button.Clicked += delegate { Controller.SyncingCancelled(); };


                VBox bar_wrapper = new VBox(false, 0);
                bar_wrapper.PackStart(progress_bar, false, false, 21);
                bar_wrapper.PackStart(progress_label, false, true, 0);

                Add(bar_wrapper);
                AddButton(cancel_button);
                AddButton(finish_button);
            }

            if (type == PageType.Error)
            {
                Header = "Oops! Something went wrong" + "…";

                VBox  points           = new VBox(false, 0);
                Image list_point_one   = new Image(SparkleUIHelpers.GetIcon("list-point", 16));
                Image list_point_two   = new Image(SparkleUIHelpers.GetIcon("list-point", 16));
                Image list_point_three = new Image(SparkleUIHelpers.GetIcon("list-point", 16));

                Label label_one = new Label()
                {
                    Markup = "<b>" + Controller.PreviousUrl + "</b> is the address we’ve compiled. " +
                             "Does this look alright?",
                    Wrap   = true,
                    Xalign = 0
                };

                Label label_two = new Label()
                {
                    Text   = "Is this computer’s Client ID known by the host?",
                    Wrap   = true,
                    Xalign = 0
                };

                points.PackStart(new Label("Please check the following:")
                {
                    Xalign = 0
                }, false, false, 6);

                HBox point_one = new HBox(false, 0);
                point_one.PackStart(list_point_one, false, false, 0);
                point_one.PackStart(label_one, true, true, 12);
                points.PackStart(point_one, false, false, 12);

                HBox point_two = new HBox(false, 0);
                point_two.PackStart(list_point_two, false, false, 0);
                point_two.PackStart(label_two, true, true, 12);
                points.PackStart(point_two, false, false, 12);

                if (warnings.Length > 0)
                {
                    string warnings_markup = "";

                    foreach (string warning in warnings)
                    {
                        warnings_markup += "\n<b>" + warning + "</b>";
                    }

                    Label label_three = new Label()
                    {
                        Markup = "Here’s the raw error message:" + warnings_markup,
                        Wrap   = true,
                        Xalign = 0
                    };

                    HBox point_three = new HBox(false, 0);
                    point_three.PackStart(list_point_three, false, false, 0);
                    point_three.PackStart(label_three, true, true, 12);
                    points.PackStart(point_three, false, false, 12);
                }

                points.PackStart(new Label(""), true, true, 0);

                Button cancel_button    = new Button("Cancel");
                Button try_again_button = new Button("Try Again…")
                {
                    Sensitive = true
                };


                cancel_button.Clicked    += delegate { Controller.PageCancelled(); };
                try_again_button.Clicked += delegate { Controller.ErrorPageCompleted(); };


                AddButton(cancel_button);
                AddButton(try_again_button);
                Add(points);
            }

            if (type == PageType.CryptoSetup || type == PageType.CryptoPassword)
            {
                if (type == PageType.CryptoSetup)
                {
                    Header      = "Set up file encryption";
                    Description = "Please a provide a strong password that you don’t use elsewhere.";
                }
                else
                {
                    Header      = "This project contains encrypted files";
                    Description = "Please enter the password to see their contents.";
                }

                Label password_label = new Label("<b>" + "Password" + "</b>")
                {
                    UseMarkup = true,
                    Xalign    = 1
                };

                Entry password_entry = new Entry()
                {
                    Xalign           = 0,
                    Visibility       = false,
                    ActivatesDefault = true
                };

                CheckButton show_password_check_button = new CheckButton("Show password")
                {
                    Active = false,
                    Xalign = 0,
                };

                Table table = new Table(2, 3, true)
                {
                    RowSpacing    = 6,
                    ColumnSpacing = 6
                };

                table.Attach(password_label, 0, 1, 0, 1);
                table.Attach(password_entry, 1, 2, 0, 1);

                table.Attach(show_password_check_button, 1, 2, 1, 2);

                VBox wrapper = new VBox(false, 9);
                wrapper.PackStart(table, true, false, 0);

                Image warning_image = new Image(
                    SparkleUIHelpers.GetIcon("dialog-information", 24));

                Label warning_label = new Label()
                {
                    Xalign = 0,
                    Wrap   = true,
                    Text   = "This password can’t be changed later, and your files can’t be recovered if it’s forgotten."
                };

                HBox warning_layout = new HBox(false, 0);
                warning_layout.PackStart(warning_image, false, false, 15);
                warning_layout.PackStart(warning_label, true, true, 0);

                VBox warning_wrapper = new VBox(false, 0);
                warning_wrapper.PackStart(warning_layout, false, false, 15);

                if (type == PageType.CryptoSetup)
                {
                    wrapper.PackStart(warning_wrapper, false, false, 0);
                }

                Button cancel_button   = new Button("Cancel");
                Button continue_button = new Button("Continue")
                {
                    Sensitive = false
                };


                Controller.UpdateCryptoSetupContinueButtonEvent += delegate(bool button_enabled) {
                    Application.Invoke(delegate { continue_button.Sensitive = button_enabled; });
                };

                Controller.UpdateCryptoPasswordContinueButtonEvent += delegate(bool button_enabled) {
                    Application.Invoke(delegate { continue_button.Sensitive = button_enabled; });
                };

                show_password_check_button.Toggled += delegate {
                    password_entry.Visibility = !password_entry.Visibility;
                };

                password_entry.Changed += delegate {
                    if (type == PageType.CryptoSetup)
                    {
                        Controller.CheckCryptoSetupPage(password_entry.Text);
                    }
                    else
                    {
                        Controller.CheckCryptoPasswordPage(password_entry.Text);
                    }
                };

                cancel_button.Clicked += delegate { Controller.CryptoPageCancelled(); };

                continue_button.Clicked += delegate {
                    if (type == PageType.CryptoSetup)
                    {
                        Controller.CryptoSetupPageCompleted(password_entry.Text);
                    }
                    else
                    {
                        Controller.CryptoPasswordPageCompleted(password_entry.Text);
                    }
                };


                Add(wrapper);

                AddButton(cancel_button);
                AddButton(continue_button);

                password_entry.GrabFocus();
            }

            if (type == PageType.Finished)
            {
                Header      = "Your shared project is ready!";
                Description = "You can find the files in your SparkleShare folder.";

                UrgencyHint = true;

                Button show_files_button = new Button("Show Files…");
                Button finish_button     = new Button("Finish");


                show_files_button.Clicked += delegate { Controller.ShowFilesClicked(); };
                finish_button.Clicked     += delegate { Controller.FinishPageCompleted(); };


                if (warnings.Length > 0)
                {
                    Image warning_image = new Image(SparkleUIHelpers.GetIcon("dialog-information", 24));

                    Label warning_label = new Label(warnings [0])
                    {
                        Xalign = 0,
                        Wrap   = true
                    };

                    HBox warning_layout = new HBox(false, 0);
                    warning_layout.PackStart(warning_image, false, false, 15);
                    warning_layout.PackStart(warning_label, true, true, 0);

                    VBox warning_wrapper = new VBox(false, 0);
                    warning_wrapper.PackStart(warning_layout, false, false, 0);

                    Add(warning_wrapper);
                }
                else
                {
                    Add(null);
                }

                AddButton(show_files_button);
                AddButton(finish_button);
            }

            if (type == PageType.Tutorial)
            {
                switch (Controller.TutorialPageNumber)
                {
                case 1: {
                    Header      = "What’s happening next?";
                    Description = "SparkleShare creates a special folder on your computer " +
                                  "that will keep track of your projects.";

                    Button skip_tutorial_button = new Button("Skip Tutorial");
                    Button continue_button      = new Button("Continue");

                    skip_tutorial_button.Clicked += delegate { Controller.TutorialSkipped(); };
                    continue_button.Clicked      += delegate { Controller.TutorialPageCompleted(); };

                    AddButton(skip_tutorial_button);
                    AddButton(continue_button);

                    break;
                }

                case 2: {
                    Header      = "Sharing files with others";
                    Description = "All files added to your project folders are synced automatically with " +
                                  "the host and your team members.";

                    Button continue_button = new Button("Continue");
                    continue_button.Clicked += delegate { Controller.TutorialPageCompleted(); };
                    AddButton(continue_button);

                    break;
                }

                case 3: {
                    Header      = "The status icon helps you";
                    Description = "It shows the syncing progress, provides easy access to " +
                                  "your projects, and lets you view recent changes.";

                    Button continue_button = new Button("Continue");
                    continue_button.Clicked += delegate { Controller.TutorialPageCompleted(); };
                    AddButton(continue_button);

                    break;
                }

                case 4: {
                    Header      = "Here’s your unique Client ID";
                    Description = "You’ll need it whenever you want to link this computer to a host. " +
                                  "You can also find it in the status icon menu.";

                    Button finish_button   = new Button("Finish");
                    VBox   layout_vertical = new VBox(false, 0)
                    {
                        BorderWidth = 48
                    };
                    HBox layout_horizontal = new HBox(false, 6);

                    Entry link_code_entry = new Entry()
                    {
                        Text      = Program.Controller.CurrentUser.PublicKey,
                        Sensitive = false
                    };

                    Button copy_button = new Button(" Copy ");

                    CheckButton check_button = new CheckButton("Add SparkleShare to startup items");
                    check_button.Active = true;


                    copy_button.Clicked   += delegate { Controller.CopyToClipboardClicked(); };
                    check_button.Toggled  += delegate { Controller.StartupItemChanged(check_button.Active); };
                    finish_button.Clicked += delegate { Controller.TutorialPageCompleted(); };


                    layout_horizontal.PackStart(link_code_entry, true, true, 0);
                    layout_horizontal.PackStart(copy_button, false, false, 0);

                    layout_vertical.PackStart(new Label(""), true, true, 0);
                    layout_vertical.PackStart(layout_horizontal, false, false, 0);
                    layout_vertical.PackStart(new Label(""), true, true, 18);

                    Add(layout_vertical);

                    AddOption(check_button);
                    AddButton(finish_button);

                    break;
                }
                }

                if (Controller.TutorialPageNumber < 4)
                {
                    Image slide = SparkleUIHelpers.GetImage("tutorial-slide-" + Controller.TutorialPageNumber + ".png");
                    Add(slide);
                }
            }
        }
Example #57
0
        public void fillTreeView()
        {
            CellRendererText cellRendererText = new CellRendererText();

            for (int i = 0; i < queryResult.ColumNames.Length; i++)
            {
                int column = i;
                treeView.AppendColumn(queryResult.ColumNames.GetValue(i).ToString(), cellRendererText,
                                      delegate(TreeViewColumn treeColumn, CellRenderer cell, TreeModel treeModel, TreeIter iter) {
                    IList row             = (IList)treeModel.GetValue(iter, 0);
                    cellRendererText.Text = row [column].ToString();
                });
            }

            /**		treeView.AppendColumn ("Editar", new Gtk.CellRendererPixbuf (), "pixbuf", 1);
             *
             *
             *
             *
             *
             *
             *
             *              treeView.AppendColumn ("Eliminar",new Gtk.CellRendererPixbuf(),"pixbuf",2);*/



            //listStore = new ListStore (typeof(IList),typeof(Gdk.Pixbuf),typeof(Gdk.Pixbuf));

            listStore = new ListStore(typeof(IList));


            IEnumerable <IList> values = queryResult.Rows;


            foreach (IList k in values)
            {
                listStore.AppendValues(k);
            }

            treeView.Model = listStore;


            /**
             *
             *      Pixbuf pixbufDelete = new Pixbuf (this.GetType ().Assembly, "PSerpisAd.delete.png");
             *
             *      Pixbuf pixbufEdit = new Pixbuf (this.GetType ().Assembly, "PSerpisAd.edit.png");
             *
             *
             *      foreach (IList k in values) {
             *              listStore.AppendValues (k,pixbufEdit,pixbufDelete);
             *      }
             *
             *      treeView.Model = listStore;
             *
             *
             *
             *
             *
             *      treeView.RowActivated += (delegate(object o, RowActivatedArgs args){
             *
             *
             *              string tituloRow = args.Column.Title;
             *
             *              if(tituloRow == "Editar"){
             *
             *
             *                      Console.WriteLine(tituloRow + " prueba path:" +args.Path);
             *
             *                      TreeIter treeIter = new TreeIter();
             *
             *                      treeView.Model.GetIter(out treeIter,args.Path);
             *
             *                      IList row = (IList) treeView.Model.GetValue(treeIter,0);
             *
             *
             *              }
             *
             *              if(tituloRow == "Eliminar"){
             *
             *
             *
             *                      Console.WriteLine(tituloRow + " prueba path:" +args.Path);
             *
             *                      TreeIter treeIter = new TreeIter();
             *
             *                      treeView.Model.GetIter(out treeIter,args.Path);
             *
             *                      IList row = (IList) treeView.Model.GetValue(treeIter,0);
             *                      int id = int.Parse(row [0].ToString());
             *                      Console.WriteLine(id);
             *
             *              }
             *
             *      });
             */
        }
        public XmlSchemasPanelWidget()
        {
            this.Build();

            //set up tree view for default schemas
            var textRenderer = new CellRendererText();

            registeredSchemasStore      = new ListStore(typeof(XmlSchemaCompletionData));
            registeredSchemasView.Model = registeredSchemasStore;

            registeredSchemasView.AppendColumn(GettextCatalog.GetString("Namespace"), textRenderer,
                                               (TreeViewColumn col, CellRenderer cell, TreeModel model, TreeIter iter) => {
                ((CellRendererText)cell).Text = GetSchema(iter).NamespaceUri;
            }
                                               );

            registeredSchemasView.AppendColumn(GettextCatalog.GetString("Type"), textRenderer,
                                               (TreeViewColumn col, CellRenderer cell, TreeModel model, TreeIter iter) => {
                ((CellRendererText)cell).Text = GetSchema(iter).ReadOnly?
                                                GettextCatalog.GetString("Built in")
                                                : GettextCatalog.GetString("User schema");
            });

            registeredSchemasStore.SetSortFunc(0,
                                               (model, a, b) => string.Compare(GetSchema(a).NamespaceUri, GetSchema(b).NamespaceUri));

            registeredSchemasStore.SetSortColumnId(0, SortType.Ascending);

            //update state of "remove" button depending on whether schema is read-only and anything's slected
            registeredSchemasView.Selection.Changed += delegate {
                var data = GetSelectedSchema();
                registeredSchemasRemoveButton.Sensitive = (data != null && !data.ReadOnly);
            };
            registeredSchemasRemoveButton.Sensitive = false;

            //set up cells for associations
            var extensionTextRenderer = new CellRendererText();

            extensionTextRenderer.Editable = true;
            var prefixTextRenderer = new CellRendererText();

            prefixTextRenderer.Editable = true;

            var comboEditor = new CellRendererCombo();

            registeredSchemasComboModel = new ListStore(typeof(string));
            comboEditor.Model           = registeredSchemasComboModel;
            comboEditor.Mode            = CellRendererMode.Editable;
            comboEditor.TextColumn      = 0;
            comboEditor.Editable        = true;
            comboEditor.HasEntry        = false;

            //rebuild combo's model from default schemas whenever editing starts
            comboEditor.EditingStarted += delegate(object sender, EditingStartedArgs args) {
                registeredSchemasComboModel.Clear();
                registeredSchemasComboModel.AppendValues(string.Empty);
                foreach (TreeIter iter in WalkStore(registeredSchemasStore))
                {
                    registeredSchemasComboModel.AppendValues(
                        GetSchema(iter).NamespaceUri
                        );
                }
                args.RetVal = true;
                registeredSchemasComboModel.SetSortColumnId(0, SortType.Ascending);
            };

            //set up tree view for associations
            defaultAssociationsStore      = new ListStore(typeof(string), typeof(string), typeof(string), typeof(bool));
            defaultAssociationsView.Model = defaultAssociationsStore;
            defaultAssociationsView.AppendColumn(GettextCatalog.GetString("File Extension"), extensionTextRenderer, "text", COL_EXT);
            defaultAssociationsView.AppendColumn(GettextCatalog.GetString("Namespace"), comboEditor, "text", COL_NS);
            defaultAssociationsView.AppendColumn(GettextCatalog.GetString("Prefix"), prefixTextRenderer, "text", COL_PREFIX);
            defaultAssociationsStore.SetSortColumnId(COL_EXT, SortType.Ascending);

            //editing handlers
            extensionTextRenderer.Edited += handleExtensionSet;
            comboEditor.Edited           += delegate(object sender, EditedArgs args) {
                setAssocValAndMarkChanged(args.Path, COL_NS, args.NewText ?? "");
            };
            prefixTextRenderer.Edited += delegate(object sender, EditedArgs args) {
                foreach (char c in args.NewText)
                {
                    if (!char.IsLetterOrDigit(c))
                    {
                        //FIXME: give an error message?
                        return;
                    }
                }
                setAssocValAndMarkChanged(args.Path, COL_PREFIX, args.NewText);
            };

            //update state of "remove" button depending on whether anything's slected
            defaultAssociationsView.Selection.Changed += delegate {
                TreeIter iter;
                defaultAssociationsRemoveButton.Sensitive =
                    defaultAssociationsView.Selection.GetSelected(out iter);
            };
            defaultAssociationsRemoveButton.Sensitive = false;
        }
Example #59
0
    void CreateTreeView()
    {
        //CreateColumns
        TreeViewColumn   col  = new TreeViewColumn();
        CellRendererText cell = new CellRendererText();

        cell.Editable = true;
        col.Title     = "Nodes";
        col.PackStart(cell, true);
        col.AddAttribute(cell, "text", 0);
        treeview1.AppendColumn(col);

        TreeViewColumn   col2  = new TreeViewColumn();
        CellRendererText cell2 = new CellRendererText();

        cell2.Editable = true;
        col2.Title     = "Url";
        col2.PackStart(cell2, true);
        col2.AddAttribute(cell2, "text", 1);
        col2.Visible = false;
        treeview1.AppendColumn(col2);
        treeview1.HeadersVisible = false;

        //Add Store
        treestore       = new TreeStore(typeof(string), typeof(string));
        treeview1.Model = treestore;

        cell.Edited += (o, args) => {
            Gtk.TreeIter iter;
            treestore.GetIter(out iter, new Gtk.TreePath(args.Path));

            String newvalue = (String)treestore.GetValue(iter, 0);
            Console.WriteLine(newvalue);

            treestore.SetValue(iter, 0, args.NewText);
        };

        cell2.Edited += (o, args) => {
            Gtk.TreeIter iter;
            treestore.GetIter(out iter, new Gtk.TreePath(args.Path));

            String newvalue = (String)treestore.GetValue(iter, 1);
            Console.WriteLine(newvalue);

            treestore.SetValue(iter, 1, args.NewText);
        };

        TargetEntry[] ten = new TargetEntry[] { new TargetEntry("tree", TargetFlags.App, 1) };

        treeview1.EnableModelDragDest(ten, Gdk.DragAction.Move);
        treeview1.EnableModelDragSource(Gdk.ModifierType.Button1Mask, ten, Gdk.DragAction.Move);
        ShowAll();

        treeview1.DragDataGet += (o, args) => {
            TreeModel model;
            ((TreeSelection)treeview1.Selection).GetSelected(out model, out SourceIter);
            args.SelectionData.Set(args.SelectionData.Target, 8, Encoding.UTF8.GetBytes(model.GetValue(SourceIter, 0).ToString()));
        };

        treeview1.DragDataReceived += Tree_DragDataReceived;

        treeview1.ButtonPressEvent += Tree_ButtonPressEvent;
    }
Example #60
0
        public ConfirmProjectDeleteDialog(IWorkspaceFileObject item)
        {
            this.Build();
            this.item = item;

            store          = new TreeStore(typeof(bool), typeof(Xwt.Drawing.Image), typeof(string), typeof(string), typeof(string));
            fileList.Model = store;

            TreeViewColumn col = new TreeViewColumn();

            CellRendererToggle crt = new CellRendererToggle();

            crt.Toggled += CrtToggled;
            col.PackStart(crt, false);
            col.AddAttribute(crt, "active", 0);

            CellRendererImage crp = new CellRendererImage();

            col.PackStart(crp, false);
            col.AddAttribute(crp, "image", 1);

            CellRendererText cre = new CellRendererText();

            col.PackStart(cre, true);
            col.AddAttribute(cre, "text", 2);
            col.AddAttribute(cre, "foreground", 4);

            fileList.AppendColumn(col);
            store.SetSortColumnId(2, SortType.Ascending);

            labelProjectDir.Text = item.BaseDirectory.FullPath;

            HashSet <string> itemFiles  = new HashSet <string> ();
            HashSet <string> knownPaths = new HashSet <string> ();

            foreach (FilePath file in item.GetItemFiles(true))
            {
                itemFiles.Add(file.FullPath);
                knownPaths.Add(file.FullPath + "~");
            }

            foreach (string ext in knownExtensions)
            {
                knownPaths.Add(item.FileName.ChangeExtension(ext));
            }

            FillDirRec(TreeIter.Zero, item, itemFiles, knownPaths, item.BaseDirectory, false);

            if (item.BaseDirectory != item.ItemDirectory)
            {
                // If the project has a custom base directory, make sure the project files
                // from the item directory are shown in the list
                foreach (FilePath f in item.GetItemFiles(false))
                {
                    if (!f.IsChildPathOf(item.BaseDirectory))
                    {
                        var pix = IdeServices.DesktopService.GetIconForFile(f, IconSize.Menu);
                        paths [f] = store.AppendValues(true, pix, f.FileName, f.ToString());
                    }
                }
            }

            if (item is SolutionFolderItem)
            {
                var sol  = ((SolutionFolderItem)item).ParentSolution;
                var bdir = item.BaseDirectory;
                if (sol.GetItemFiles(false).Any(f => f.IsChildPathOf(bdir)) || sol.GetAllItems <SolutionItem> ().Any(it => it != item && it.GetItemFiles(true).Any(f => f.IsChildPathOf(bdir))))
                {
                    radioDeleteAll.Sensitive = false;
                    labelProjectDir.Text     = GettextCatalog.GetString("Project directory can't be deleted since it contains files from other projects or solutions");
                }
            }

            if (item.BaseDirectory.FileName == item.Name && radioDeleteAll.Sensitive)
            {
                radioDeleteAll.Active = true;
                fileList.Sensitive    = false;
            }
            else
            {
                radioDeleteSel.Active = true;
                Focus = radioDeleteSel;
            }
        }