コード例 #1
0
		public override void Initialize (OptionsDialog dialog, object dataObject)
		{
			base.Initialize (dialog, dataObject);

			config = (SolutionRunConfigInfo)dataObject;

			store = new ListStore (selectedField, projectNameField, projectField, runConfigField, projectRunConfigsField);
			listView = new ListView (store);

			var col1 = new ListViewColumn (GettextCatalog.GetString ("Solution Item"));
			var cb = new CheckBoxCellView (selectedField);
			cb.Toggled += SelectionChanged;
			cb.Editable = true;
			col1.Views.Add (cb);
			col1.Views.Add (new TextCellView (projectNameField));
			listView.Columns.Add (col1);

			var configSelView = new ComboBoxCellView (runConfigField);
			configSelView.Editable = true;
			configSelView.ItemsField = projectRunConfigsField;
			var col2 = new ListViewColumn (GettextCatalog.GetString ("Run Configuration"), configSelView);
			listView.Columns.Add (col2);

			foreach (var it in config.Solution.GetAllSolutionItems ().Where (si => si.SupportsExecute ()).OrderBy (si => si.Name)) {
				var row = store.AddRow ();
				var si = config.EditedConfig.Items.FirstOrDefault (i => i.SolutionItem == it);
				var sc = si?.RunConfiguration?.Name ?? it.GetDefaultRunConfiguration ()?.Name;
				var configs = new ItemCollection ();
				foreach (var pc in it.GetRunConfigurations ())
					configs.Add (pc.Name);
				store.SetValues (row, selectedField, si != null, projectNameField, it.Name, projectField, it, runConfigField, sc, projectRunConfigsField, configs);
			}
		}
コード例 #2
0
        public DeviceListControl()
        {
            deviceListStoreMirror = new List <DeviceInfo> ();

            uiThreadScheduler = TaskScheduler.Current;

            //
            // Device List
            //
            deviceListStore = new ListStore(idField, enabledField, nameField);
            deviceListView  = new ListView(deviceListStore);
            var enabledColumn = new Xwt.ListViewColumn(
                "Enabled",
                new Xwt.CheckBoxCellView(enabledField)
            {
                Editable = true
            });

            deviceListView.Columns.Add(enabledColumn);
            var nameColumn = new Xwt.ListViewColumn(
                "Device",
                new Xwt.TextCellView(nameField)
            {
                Editable = false
            });

            deviceListView.Columns.Add(nameColumn);

            deviceList.CollectionChanged += (s, e) => {
                Application.Invoke(() => Devices_CollectionChanged(s, e));
            };
            PrepopulateList();
            deviceListView.ButtonPressed += DeviceListView_ButtonPressed;

            //
            // Toolbar
            //
            var toolbar = new Xwt.HBox();

            toolbar.PackStart(refreshButton);
            toolbar.PackStart(statusLabel);
            refreshButton.Clicked += RefreshButton_Clicked;

            //
            // Main UI
            //
            var vbox = new Xwt.VBox();

            vbox.PackStart(toolbar);
            vbox.PackStart(deviceListView, fill: true, expand: true);

            Widget = vbox;
        }
コード例 #3
0
 public override Xwt.Widget Makeup(IXwtWrapper Parent)
 {
     Xwt.TreeView Target = new Xwt.TreeView()
     {
         HeadersVisible = this.HeadersVisible,
         SelectionMode = this.SelectionMode,
         VerticalScrollPolicy = this.VScrollPolicy,
         HorizontalScrollPolicy = this.HScrollPolicy
     };
     if (this.Source != "")
     {
         TreeStoreWrapper Source = ((Bindings.TreeStoreWrapper)(Parent.GetType().GetField(this.Source).GetValue(Parent)));
         Target.DataSource = Source.TreeStore;
         if (ColumnDefinition != null && ColumnDefinition.Count() > 0)
         {
             foreach (XwtColumnDefinitionNode N in ColumnDefinition)
             {
                 if (Source.Fields.ContainsKey(N.Source))
                 {
                     IDataField X = Source.Fields[N.Source];
                     IDataField S = X;
                     if (X.FieldType == typeof(DateTime))
                     {
                         S = Source.Fields[N.Source + "_sort"];
                         X = Source.Fields[N.Source + "_text"];
                     }
                     ListViewColumn C = new ListViewColumn(N.Title, CellViewFactory.Make(X, N.Editable))
                     {
                         SortDataField = S,
                         SortIndicatorVisible = N.Sortable,
                         CanResize = N.Resizable
                     };
                     Target.Columns.Add(C);
                 }
             }
         }
     }
     WindowController.TryAttachEvent(Target, "SelectionChanged", Parent, Changed);
     WindowController.TryAttachEvent(Target, "RowActivated", Parent, Clicked);
     InitWidget(Target, Parent);
     return Target;
 }
コード例 #4
0
		public ListViewDialog ()
		{
			Title = "Xwt List View Box Dialog";
			Width = 500;
			Height = 400;

			var vbox = new VBox ();
			Content = vbox;

			listView = new ListView ();
			listView.HeadersVisible = false;
			vbox.PackStart (listView);

			listStore = new ListStore (dataField);
			listView.DataSource = listStore;

			cellView = new CustomCanvasCellView ();
			var column = new ListViewColumn ("test", cellView);
			listView.Columns.Add (column);

			AddItems ();
		}
コード例 #5
0
 public override Xwt.Widget Makeup(IXwtWrapper Parent)
 {
     Xwt.ListView Target = new Xwt.ListView()
     {
         BorderVisible = this.BorderVisible,
         HeadersVisible = this.HeadersVisible,
         SelectionMode = this.SelectionMode,
         VerticalScrollPolicy = this.VScrollPolicy,
         HorizontalScrollPolicy = this.HScrollPolicy
     };
     if (this.Source != "")
     {
         IListDataSource Source = (IListDataSource)Parent.GetType().GetField(this.Source).GetValue(Parent);
         Target.DataSource = Source;
         Type BackgroundType = (Source).GetType().GetGenericArguments()[0];
         if (ColumnDefinition != null && ColumnDefinition.Count() > 0)
         {
             foreach (XwtColumnDefinitionNode N in ColumnDefinition)
             {
                 IDataField X = DataField.GenerateDataField(N.Source, BackgroundType);
                 ListViewColumn C = new ListViewColumn(N.Title, CellViewFactory.Make(X, N.Editable))
                 {
                     SortDataField = X,
                     SortIndicatorVisible = N.Sortable,
                     CanResize = N.Resizable
                 };
                 Target.Columns.Add(C);
             }
         }
     }
     if (Target.DataSource != null && Target.DataSource.RowCount > 0)
         Target.SelectRow(this.Selection);
     WindowController.TryAttachEvent(Target, "SelectionChanged", Parent, Changed);
     WindowController.TryAttachEvent(Target, "RowActivated", Parent, Clicked);
     InitWidget(Target, Parent);
     return Target;
 }
コード例 #6
0
		void AddPackageCellViewToListView ()
		{
			packageCellView = new PackageCellView {
				PackageField = packageViewModelField,
				HasBackgroundColorField = packageHasBackgroundColorField,
				CheckBoxAlphaField = packageCheckBoxAlphaField,
				ImageField = packageImageField,
				CellWidth = 535
			};
			var textColumn = new ListViewColumn ("Package", packageCellView);
			packagesListView.Columns.Add (textColumn);

			packageCellView.PackageChecked += PackageCellViewPackageChecked;
		}