Exemplo n.º 1
0
        public void fillData(string arka_id)
        {
            //funksion qe mbush te dhenat e gjendjeve nga DB
            this.arka_id = arka_id;
            this.Controls.Clear();
            dtl = new DetailsListView();
            dtl.Columns.Add(new ColumnHeader("Monedha"));
            dtl.Columns.Add(new ColumnHeader("Gjendja"));

            //merren gjendjet per cdo monedhe per arken e kaluar si parameter nga SQL
            DataTable infot = Lidhja.Kerkesat1.a.selectGjendjetByArka(arka_id).Copy();

            for (int i = 0; i < infot.Rows.Count; i++)
            {
                dtl.Items.Add(
                    new ListViewItem(
                        new string[2]
                {
                    //shtojme emertimin e monedhes dhe gjendjen per monedhen si tekste te elementit te listes
                    infot.Rows[i].ItemArray[1].ToString(),
                    infot.Rows[i].ItemArray[2].ToString()
                })
                {
                    //ID e monedhes e vendosim si emer te elementit te listes
                    Name = infot.Rows[i].ItemArray[0].ToString()
                });
            }

            dtl.Click += new EventHandler(dtl_Click);
            this.Controls.Add(dtl);
            dtl.Dock = DockStyle.Fill;
        }
Exemplo n.º 2
0
        public DetailsView()
        {
            lastDirection                 = ListSortDirection.Ascending;
            lastHeaderClicked             = null;
            RealizedItems                 = new SuppressableObservableCollection <FileInfoWrapper>();
            RealizedItems.SuppressChanged = true;

            InitializeComponent();

            DetailsListView.AddHandler(Thumb.DragDeltaEvent,
                                       new DragDeltaEventHandler(Thumb_DragDelta),
                                       true);

            headerTemplateArrowUp   = Resources["HeaderTemplateArrowUp"] as DataTemplate;
            headerTemplateArrowDown = Resources["HeaderTemplateArrowDown"] as DataTemplate;
        }
Exemplo n.º 3
0
 public ListViewItemCollection(DetailsListView owner)
     : base(owner)
 {
     m_owner = owner;
 }
Exemplo n.º 4
0
        public bool RemoveSpecifiedTab(string tabName, bool confirm)
        {
            int idx;

            for (idx = 0; idx < ListTab.TabPages.Count; idx++)
            {
                if (ListTab.TabPages[idx].Text == tabName)
                {
                    break;
                }
            }

            if (_statuses.IsDefaultTab(tabName))
            {
                return(false);
            }

            if (confirm)
            {
                string tmp    = string.Format(R.RemoveSpecifiedTabText1, Environment.NewLine);
                var    result = MessageBox.Show(tmp, string.Format("{0} {1}", tabName, R.RemoveSpecifiedTabText2), MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                if (result == DialogResult.Cancel)
                {
                    return(false);
                }
            }

            SetListProperty(); // 他のタブに列幅等を反映

            TabUsageType tabType = _statuses.Tabs[tabName].TabType;

            // オブジェクトインスタンスの削除
            SplitContainer1.Panel1.SuspendLayout();
            SplitContainer1.Panel2.SuspendLayout();
            SplitContainer1.SuspendLayout();
            ListTab.SuspendLayout();
            SuspendLayout();

            TabPage tabPage    = ListTab.TabPages[idx];
            var     listCustom = (DetailsListView)tabPage.Tag;

            tabPage.Tag = null;
            tabPage.SuspendLayout();

            if (ReferenceEquals(ListTab.SelectedTab, ListTab.TabPages[idx]))
            {
                ListTab.SelectTab(_prevSelectedTab != null && ListTab.TabPages.Contains(_prevSelectedTab) ? _prevSelectedTab : ListTab.TabPages[0]);
            }

            ListTab.Controls.Remove(tabPage);

            if (tabType == TabUsageType.PublicSearch)
            {
                Control pnl = tabPage.Controls["panelSearch"];
                foreach (Control ctrl in pnl.Controls)
                {
                    if (ctrl.Name == "buttonSearch")
                    {
                        ctrl.Click -= SearchButton_Click;
                    }

                    ctrl.Enter -= SearchControls_Enter;
                    ctrl.Leave -= SearchControls_Leave;
                    pnl.Controls.Remove(ctrl);
                    ctrl.Dispose();
                }

                tabPage.Controls.Remove(pnl);
            }

            tabPage.Controls.Remove(listCustom);
            listCustom.Columns.Clear();
            listCustom.ContextMenuStrip = null;

            listCustom.SelectedIndexChanged -= MyList_SelectedIndexChanged;
            listCustom.MouseDoubleClick     -= MyList_MouseDoubleClick;
            listCustom.ColumnClick          -= MyList_ColumnClick;
            listCustom.DrawColumnHeader     -= MyList_DrawColumnHeader;
            listCustom.DragDrop             -= TweenMain_DragDrop;
            listCustom.DragOver             -= TweenMain_DragOver;
            listCustom.DrawItem             -= MyList_DrawItem;
            listCustom.MouseClick           -= MyList_MouseClick;
            listCustom.ColumnReordered      -= MyList_ColumnReordered;
            listCustom.ColumnWidthChanged   -= MyList_ColumnWidthChanged;
            listCustom.CacheVirtualItems    -= MyList_CacheVirtualItems;
            listCustom.RetrieveVirtualItem  -= MyList_RetrieveVirtualItem;
            listCustom.DrawSubItem          -= MyList_DrawSubItem;
            listCustom.HScrolled            -= MyList_HScrolled;

            _tabDialog.RemoveTab(tabName);

            listCustom.SmallImageList     = null;
            listCustom.ListViewItemSorter = null;

            // キャッシュのクリア
            if (_curTab.Equals(tabPage))
            {
                _curTab       = null;
                _curItemIndex = -1;
                _curList      = null;
                _curPost      = null;
            }

            _itemCache      = null;
            _itemCacheIndex = -1;
            _postCache      = null;

            tabPage.ResumeLayout(false);

            SplitContainer1.Panel1.ResumeLayout(false);
            SplitContainer1.Panel2.ResumeLayout(false);
            SplitContainer1.ResumeLayout(false);
            ListTab.ResumeLayout(false);
            ResumeLayout(false);
            PerformLayout();

            tabPage.Dispose();
            listCustom.Dispose();
            _statuses.RemoveTab(tabName);

            foreach (TabPage tp in ListTab.TabPages)
            {
                var lst = (DetailsListView)tp.Tag;
                lst.VirtualListSize = _statuses.Tabs[tp.Text].AllCount;
            }

            return(true);
        }
Exemplo n.º 5
0
        private DetailsListView CreateDetailListView(string tabName, bool startup)
        {
            // TODO: tabName
            InitColumnText();
            var colhds = new ColumnHeader[8]; // アイコン, ニックネーム, 本文, 日付, ユーザID, 未読, マーク&プロテクト, ソース
            var widths = new[] { 48, 80, 300, 50, 50, 16, 16, 50 };

            for (var i = 0; i < colhds.Length; ++i)
            {
                colhds[i] = new ColumnHeader
                {
                    Width = widths[i],
                    Text  = _columnTexts[i]
                };
            }

            var listCustom = new DetailsListView
            {
                ContextMenuStrip = ContextMenuOperate,
                Font             = _fntReaded,
                BackColor        = _clrListBackcolor,
                GridLines        = _configs.ShowGrid
            };

            var sz = _iconSz > 0 ? _iconSz : 1;

            listCustom.SmallImageList = new ImageList {
                ImageSize = new Size(sz, sz)
            };
            listCustom.Columns.AddRange(_iconCol ?
                                        new[] { colhds[0], colhds[2] } :
                                        new[] { colhds[0], colhds[1], colhds[2], colhds[3], colhds[4], colhds[5], colhds[6], colhds[7] });

            var dispOrder = new int[8];

            if (!startup)
            {
                for (int i = 0; i < _curList.Columns.Count; i++)
                {
                    for (int j = 0; j < _curList.Columns.Count; j++)
                    {
                        if (_curList.Columns[j].DisplayIndex == i)
                        {
                            dispOrder[i] = j;
                            break;
                        }
                    }
                }

                for (int i = 0; i < _curList.Columns.Count; i++)
                {
                    listCustom.Columns[i].Width = _curList.Columns[i].Width;
                    listCustom.Columns[dispOrder[i]].DisplayIndex = i;
                }
            }
            else
            {
                if (_iconCol)
                {
                    listCustom.Columns[0].Width        = _cfgLocal.Width1;
                    listCustom.Columns[1].Width        = _cfgLocal.Width3;
                    listCustom.Columns[0].DisplayIndex = 0;
                    listCustom.Columns[1].DisplayIndex = 1;
                }
                else
                {
                    for (int i = 0; i < 8; ++i)
                    {
                        if (_cfgLocal.DisplayIndex1 == i)
                        {
                            dispOrder[i] = 0;
                        }
                        else if (_cfgLocal.DisplayIndex2 == i)
                        {
                            dispOrder[i] = 1;
                        }
                        else if (_cfgLocal.DisplayIndex3 == i)
                        {
                            dispOrder[i] = 2;
                        }
                        else if (_cfgLocal.DisplayIndex4 == i)
                        {
                            dispOrder[i] = 3;
                        }
                        else if (_cfgLocal.DisplayIndex5 == i)
                        {
                            dispOrder[i] = 4;
                        }
                        else if (_cfgLocal.DisplayIndex6 == i)
                        {
                            dispOrder[i] = 5;
                        }
                        else if (_cfgLocal.DisplayIndex7 == i)
                        {
                            dispOrder[i] = 6;
                        }
                        else if (_cfgLocal.DisplayIndex8 == i)
                        {
                            dispOrder[i] = 7;
                        }
                    }

                    listCustom.Columns[0].Width = _cfgLocal.Width1;
                    listCustom.Columns[1].Width = _cfgLocal.Width2;
                    listCustom.Columns[2].Width = _cfgLocal.Width3;
                    listCustom.Columns[3].Width = _cfgLocal.Width4;
                    listCustom.Columns[4].Width = _cfgLocal.Width5;
                    listCustom.Columns[5].Width = _cfgLocal.Width6;
                    listCustom.Columns[6].Width = _cfgLocal.Width7;
                    listCustom.Columns[7].Width = _cfgLocal.Width8;
                    for (int i = 0; i < 8; i++)
                    {
                        listCustom.Columns[dispOrder[i]].DisplayIndex = i;
                    }
                }
            }

            return(listCustom);
        }
Exemplo n.º 6
0
        public bool RemoveSpecifiedTab(string tabName, bool confirm)
        {
            int idx;
            for (idx = 0; idx < ListTab.TabPages.Count; idx++)
            {
                if (ListTab.TabPages[idx].Text == tabName)
                {
                    break;
                }
            }

            if (_statuses.IsDefaultTab(tabName))
            {
                return false;
            }

            if (confirm)
            {
                string tmp = string.Format(R.RemoveSpecifiedTabText1, Environment.NewLine);
                var result = MessageBox.Show(tmp, string.Format("{0} {1}", tabName, R.RemoveSpecifiedTabText2), MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                if (result == DialogResult.Cancel)
                {
                    return false;
                }
            }

            SetListProperty(); // 他のタブに列幅等を反映

            TabUsageType tabType = _statuses.Tabs[tabName].TabType;

            // オブジェクトインスタンスの削除
            SplitContainer1.Panel1.SuspendLayout();
            SplitContainer1.Panel2.SuspendLayout();
            SplitContainer1.SuspendLayout();
            ListTab.SuspendLayout();
            SuspendLayout();

            TabPage tabPage = ListTab.TabPages[idx];
            var listCustom = (DetailsListView)tabPage.Tag;
            tabPage.Tag = null;
            tabPage.SuspendLayout();

            if (ReferenceEquals(ListTab.SelectedTab, ListTab.TabPages[idx]))
            {
                ListTab.SelectTab(_prevSelectedTab != null && ListTab.TabPages.Contains(_prevSelectedTab) ? _prevSelectedTab : ListTab.TabPages[0]);
            }

            ListTab.Controls.Remove(tabPage);

            if (tabType == TabUsageType.PublicSearch)
            {
                Control pnl = tabPage.Controls["panelSearch"];
                foreach (Control ctrl in pnl.Controls)
                {
                    if (ctrl.Name == "buttonSearch")
                    {
                        ctrl.Click -= SearchButton_Click;
                    }

                    ctrl.Enter -= SearchControls_Enter;
                    ctrl.Leave -= SearchControls_Leave;
                    pnl.Controls.Remove(ctrl);
                    ctrl.Dispose();
                }

                tabPage.Controls.Remove(pnl);
            }

            tabPage.Controls.Remove(listCustom);
            listCustom.Columns.Clear();
            listCustom.ContextMenuStrip = null;

            listCustom.SelectedIndexChanged -= MyList_SelectedIndexChanged;
            listCustom.MouseDoubleClick -= MyList_MouseDoubleClick;
            listCustom.ColumnClick -= MyList_ColumnClick;
            listCustom.DrawColumnHeader -= MyList_DrawColumnHeader;
            listCustom.DragDrop -= TweenMain_DragDrop;
            listCustom.DragOver -= TweenMain_DragOver;
            listCustom.DrawItem -= MyList_DrawItem;
            listCustom.MouseClick -= MyList_MouseClick;
            listCustom.ColumnReordered -= MyList_ColumnReordered;
            listCustom.ColumnWidthChanged -= MyList_ColumnWidthChanged;
            listCustom.CacheVirtualItems -= MyList_CacheVirtualItems;
            listCustom.RetrieveVirtualItem -= MyList_RetrieveVirtualItem;
            listCustom.DrawSubItem -= MyList_DrawSubItem;
            listCustom.HScrolled -= MyList_HScrolled;

            _tabDialog.RemoveTab(tabName);

            listCustom.SmallImageList = null;
            listCustom.ListViewItemSorter = null;

            // キャッシュのクリア
            if (_curTab.Equals(tabPage))
            {
                _curTab = null;
                _curItemIndex = -1;
                _curList = null;
                _curPost = null;
            }

            _itemCache = null;
            _itemCacheIndex = -1;
            _postCache = null;

            tabPage.ResumeLayout(false);

            SplitContainer1.Panel1.ResumeLayout(false);
            SplitContainer1.Panel2.ResumeLayout(false);
            SplitContainer1.ResumeLayout(false);
            ListTab.ResumeLayout(false);
            ResumeLayout(false);
            PerformLayout();

            tabPage.Dispose();
            listCustom.Dispose();
            _statuses.RemoveTab(tabName);

            foreach (TabPage tp in ListTab.TabPages)
            {
                var lst = (DetailsListView)tp.Tag;
                lst.VirtualListSize = _statuses.Tabs[tp.Text].AllCount;
            }

            return true;
        }
Exemplo n.º 7
0
        private DetailsListView CreateDetailListView(string tabName, bool startup)
        {
            // TODO: tabName
            InitColumnText();
            var colhds = new ColumnHeader[8]; // アイコン, ニックネーム, 本文, 日付, ユーザID, 未読, マーク&プロテクト, ソース
            var widths = new[] { 48, 80, 300, 50, 50, 16, 16, 50 };
            for (var i = 0; i < colhds.Length; ++i)
            {
                colhds[i] = new ColumnHeader
                {
                    Width = widths[i],
                    Text = _columnTexts[i]
                };
            }

            var listCustom = new DetailsListView
            {
                ContextMenuStrip = ContextMenuOperate,
                Font = _fntReaded,
                BackColor = _clrListBackcolor,
                GridLines = _configs.ShowGrid
            };

            var sz = _iconSz > 0 ? _iconSz : 1;
            listCustom.SmallImageList = new ImageList { ImageSize = new Size(sz, sz) };
            listCustom.Columns.AddRange(_iconCol ?
                new[] { colhds[0], colhds[2] } :
                new[] { colhds[0], colhds[1], colhds[2], colhds[3], colhds[4], colhds[5], colhds[6], colhds[7] });

            var dispOrder = new int[8];
            if (!startup)
            {
                for (int i = 0; i < _curList.Columns.Count; i++)
                {
                    for (int j = 0; j < _curList.Columns.Count; j++)
                    {
                        if (_curList.Columns[j].DisplayIndex == i)
                        {
                            dispOrder[i] = j;
                            break;
                        }
                    }
                }

                for (int i = 0; i < _curList.Columns.Count; i++)
                {
                    listCustom.Columns[i].Width = _curList.Columns[i].Width;
                    listCustom.Columns[dispOrder[i]].DisplayIndex = i;
                }
            }
            else
            {
                if (_iconCol)
                {
                    listCustom.Columns[0].Width = _cfgLocal.Width1;
                    listCustom.Columns[1].Width = _cfgLocal.Width3;
                    listCustom.Columns[0].DisplayIndex = 0;
                    listCustom.Columns[1].DisplayIndex = 1;
                }
                else
                {
                    for (int i = 0; i < 8; ++i)
                    {
                        if (_cfgLocal.DisplayIndex1 == i)
                        {
                            dispOrder[i] = 0;
                        }
                        else if (_cfgLocal.DisplayIndex2 == i)
                        {
                            dispOrder[i] = 1;
                        }
                        else if (_cfgLocal.DisplayIndex3 == i)
                        {
                            dispOrder[i] = 2;
                        }
                        else if (_cfgLocal.DisplayIndex4 == i)
                        {
                            dispOrder[i] = 3;
                        }
                        else if (_cfgLocal.DisplayIndex5 == i)
                        {
                            dispOrder[i] = 4;
                        }
                        else if (_cfgLocal.DisplayIndex6 == i)
                        {
                            dispOrder[i] = 5;
                        }
                        else if (_cfgLocal.DisplayIndex7 == i)
                        {
                            dispOrder[i] = 6;
                        }
                        else if (_cfgLocal.DisplayIndex8 == i)
                        {
                            dispOrder[i] = 7;
                        }
                    }

                    listCustom.Columns[0].Width = _cfgLocal.Width1;
                    listCustom.Columns[1].Width = _cfgLocal.Width2;
                    listCustom.Columns[2].Width = _cfgLocal.Width3;
                    listCustom.Columns[3].Width = _cfgLocal.Width4;
                    listCustom.Columns[4].Width = _cfgLocal.Width5;
                    listCustom.Columns[5].Width = _cfgLocal.Width6;
                    listCustom.Columns[6].Width = _cfgLocal.Width7;
                    listCustom.Columns[7].Width = _cfgLocal.Width8;
                    for (int i = 0; i < 8; i++)
                    {
                        listCustom.Columns[dispOrder[i]].DisplayIndex = i;
                    }
                }
            }

            return listCustom;
        }