示例#1
0
        public ResourceListView2TestForm(IResourceDataProvider provider, bool isTree)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            _resourceListView             = new ResourceListView2();
            _resourceListView.Dock        = DockStyle.Fill;
            _resourceListView.AllowDrop   = true;
            _resourceListView.InPlaceEdit = true;
            if (isTree)
            {
                _resourceListView.AddTreeStructureColumn();
                _resourceListView.HideSelection = true;
            }
            else
            {
                //_resourceListView.AddCheckBoxColumn();
                _resourceListView.HeaderStyle        = ColumnHeaderStyle.Clickable;
                _resourceListView.AllowColumnReorder = true;
            }
            _resourceListView.AddIconColumn();
            if (isTree)
            {
                RichTextColumn rtCol = new RichTextColumn();
                rtCol.AddNodeDecorator(new UnreadNodeDecorator());
                rtCol.SizeToContent = true;
                _resourceListView.Columns.Add(rtCol);
            }
            else
            {
                /*
                 * DisplayColumnManager dcm = (DisplayColumnManager) Core.DisplayColumnManager;
                 * ColumnDescriptor[] columns = dcm.GetDefaultColumns( Core.ResourceBrowser.VisibleResources );
                 * foreach( ColumnDescriptor colDesc in columns )
                 * {
                 *  int[] propIds = dcm.PropNamesToIDs( colDesc.PropNames, true );
                 *  bool isCustom = false;
                 *  for( int i=0; i<propIds.Length; i++ )
                 *  {
                 *      if ( dcm.GetCustomColumn( propIds [i] ) != null )
                 *      {
                 *          isCustom = true;
                 *          break;
                 *      }
                 *  }
                 *
                 *  if ( isCustom )
                 *  {
                 *      AddCustomColumn( dcm, propIds );
                 *  }
                 *  else
                 *  {
                 *      ResourceListView2Column column = _resourceListView.AddColumn( propIds [0] );
                 *      column.Width = colDesc.Width;
                 *  }
                 * }
                 */
                _resourceListView.FullRowSelect = true;
            }


            /*
             * int propId = Core.ResourceStore.GetPropId( "Annotation" );
             * ICustomColumn col = (Core.DisplayColumnManager as DisplayColumnManager).GetCustomColumn( propId );
             * _resourceListView.AddCustomColumn( col );
             */

            _resourceListView.DataProvider = provider;
            Controls.Add(_resourceListView);
            Controls.SetChildIndex(_resourceListView, 0);

            _nameFilter = new ResourceNameJetFilter("");
        }
示例#2
0
        public void CreateComponents()
        {
            _lblAvailable           = new Label();
            _lblAvailable.Text      = "Available:";
            _lblAvailable.FlatStyle = FlatStyle.System;
            _lblAvailable.AutoSize  = true;

            _lblInWorkspace           = new Label();
            _lblInWorkspace.FlatStyle = FlatStyle.System;
            _lblInWorkspace.AutoSize  = true;

            _lblProcessing           = new Label();
            _lblProcessing.FlatStyle = FlatStyle.System;
            _lblProcessing.AutoSize  = true;
            _lblProcessing.Visible   = false;
            _lblProcessing.Text      = "Processing...";

            _btnAdd    = CreateTabButton("Add", new EventHandler(OnAddListClick));
            _btnRemove = CreateTabButton("Remove", new EventHandler(OnRemoveListClick));

            //
            // _lvAvailable
            //
            _lvAvailable = new ResourceListView2();
            _lvAvailable.Columns.Add(new ResourceIconColumn());
            _lvAvailable.AddColumn(ResourceProps.DisplayName).AutoSize = true;

            IResourceList tabResources = Core.ResourceStore.GetAllResourcesLive(_resourceTypes [0]);

            tabResources.Sort(new int[] { ResourceProps.DisplayName }, true);
            _listAvailable            = tabResources;
            _lvAvailable.DataProvider = new ResourceListDataProvider(_listAvailable);

            _nameJetFilter = new ResourceNameJetFilter("");
            _lvAvailable.Filters.Add(_nameJetFilter);
            _lvAvailable.HeaderStyle              = ColumnHeaderStyle.None;
            _lvAvailable.ShowContextMenu          = false;
            _lvAvailable.ExecuteDoubleClickAction = false;
            _lvAvailable.AllowDrop         = false;
            _lvAvailable.DoubleClick      += new HandledEventHandler(OnAddListClick);
            _lvAvailable.SelectionChanged += new EventHandler(OnListSelectionChanged);

            WorkspaceManager    workspaceManager = Core.WorkspaceManager as WorkspaceManager;
            IResourceNodeFilter filter           = workspaceManager.GetAvailSelectorFilter(_resourceTypes [0]);

            if (filter != null)
            {
                _lvAvailable.Filters.Add(new TreeFilterJetWrapper(filter));
            }

            _edtFind           = new JetTextBox();
            _edtFind.EmptyText = "<type a name to find>";
            _edtFind.IncrementalSearchUpdated += new EventHandler(OnListIncSearch);

            //
            // _lvInWorkspace
            //
            _lvInWorkspace = new ResourceListView2();
            _lvInWorkspace.Columns.Add(new ResourceIconColumn());
            _lvInWorkspace.AddColumn(ResourceProps.DisplayName).AutoSize = true;

            _lvInWorkspace.HeaderStyle              = ColumnHeaderStyle.None;
            _lvInWorkspace.ShowContextMenu          = false;
            _lvInWorkspace.ExecuteDoubleClickAction = false;
            _lvInWorkspace.AllowDrop         = false;
            _lvInWorkspace.DoubleClick      += new HandledEventHandler(OnRemoveListClick);
            _lvInWorkspace.SelectionChanged += new EventHandler(OnListSelectionChanged);

            UpdateListSelection();

            Controls.AddRange(new Control[] { _lblAvailable, _edtFind, _lvAvailable,
                                              _btnAdd, _btnRemove, _lblProcessing,
                                              _lblInWorkspace, _lvInWorkspace });
        }