KeePass.UI.CheckedLVItemDXList.CreateItem C# (CSharp) Method

CreateItem() public method

public CreateItem ( object pContainer, string strPropertyName, System.Windows.Forms.ListViewGroup lvgContainer, string strDisplayString ) : System.Windows.Forms.ListViewItem
pContainer object
strPropertyName string
lvgContainer System.Windows.Forms.ListViewGroup
strDisplayString string
return System.Windows.Forms.ListViewItem
        public ListViewItem CreateItem(object pContainer, string strPropertyName,
            ListViewGroup lvgContainer, string strDisplayString)
        {
            if(pContainer == null) throw new ArgumentNullException("pContainer");
            if(strPropertyName == null) throw new ArgumentNullException("strPropertyName");
            if(strPropertyName.Length == 0) throw new ArgumentException();
            if(strDisplayString == null) throw new ArgumentNullException("strDisplayString");

            if(m_lv == null) { Debug.Assert(false); return null; }

            Type t = pContainer.GetType();
            PropertyInfo pi = t.GetProperty(strPropertyName);
            if((pi == null) || (pi.PropertyType != typeof(bool)) ||
                !pi.CanRead || !pi.CanWrite)
                throw new ArgumentException();

            ListViewItem lvi = new ListViewItem(strDisplayString);
            if(lvgContainer != null)
            {
                lvi.Group = lvgContainer;
                Debug.Assert(lvgContainer.Items.IndexOf(lvi) >= 0);
                Debug.Assert(m_lv.Groups.IndexOf(lvgContainer) >= 0);
            }

            m_lv.Items.Add(lvi);

            m_vObjects.Add(pContainer);
            m_vProperties.Add(pi);
            m_vListViewItems.Add(lvi);

            return lvi;
        }

Usage Example

Ejemplo n.º 1
0
        private void LoadSecurityOptions()
        {
            AceWorkspaceLocking aceWL = Program.Config.Security.WorkspaceLocking;

            uint uLockTime = aceWL.LockAfterTime;
            bool bLockTime = (uLockTime > 0);
            m_numLockAfterTime.Value = (bLockTime ? uLockTime : 300);
            m_cbLockAfterTime.Checked = bLockTime;
            if(AppConfigEx.IsOptionEnforced(aceWL, "LockAfterTime"))
                m_cbLockAfterTime.Enabled = false;

            uLockTime = aceWL.LockAfterGlobalTime;
            bLockTime = (uLockTime > 0);
            m_numLockAfterGlobalTime.Value = (bLockTime ? uLockTime : 240);
            m_cbLockAfterGlobalTime.Checked = bLockTime;
            if(AppConfigEx.IsOptionEnforced(aceWL, "LockAfterGlobalTime"))
                m_cbLockAfterGlobalTime.Enabled = false;

            int nDefaultExpireDays = Program.Config.Defaults.NewEntryExpiresInDays;
            if(nDefaultExpireDays < 0)
                m_cbDefaultExpireDays.Checked = false;
            else
            {
                m_cbDefaultExpireDays.Checked = true;
                try { m_numDefaultExpireDays.Value = nDefaultExpireDays; }
                catch(Exception) { Debug.Assert(false); }
            }
            if(AppConfigEx.IsOptionEnforced(Program.Config.Defaults, "NewEntryExpiresInDays"))
                m_cbDefaultExpireDays.Enabled = false;

            int nClipClear = Program.Config.Security.ClipboardClearAfterSeconds;
            if(nClipClear >= 0)
            {
                m_cbClipClearTime.Checked = true;
                m_numClipClearTime.Value = nClipClear;
            }
            else m_cbClipClearTime.Checked = false;
            if(AppConfigEx.IsOptionEnforced(Program.Config.Security, "ClipboardClearAfterSeconds"))
                m_cbClipClearTime.Enabled = false;

            m_lvSecurityOptions.Columns.Add(string.Empty, 200); // Resize below

            ListViewGroup lvg = new ListViewGroup(KPRes.Options);
            m_lvSecurityOptions.Groups.Add(lvg);
            Debug.Assert(lvg.ListView == m_lvSecurityOptions);

            m_cdxSecurityOptions = new CheckedLVItemDXList(m_lvSecurityOptions, true);

            m_cdxSecurityOptions.CreateItem(aceWL, "LockOnWindowMinimize",
                lvg, KPRes.LockOnMinimize);
            m_cdxSecurityOptions.CreateItem(aceWL, "LockOnSessionSwitch",
                lvg, KPRes.LockOnSessionSwitch);
            m_cdxSecurityOptions.CreateItem(aceWL, "LockOnSuspend",
                lvg, KPRes.LockOnSuspend);
            m_cdxSecurityOptions.CreateItem(aceWL, "LockOnRemoteControlChange",
                lvg, KPRes.LockOnRemoteControlChange);
            m_cdxSecurityOptions.CreateItem(aceWL, "ExitInsteadOfLockingAfterTime",
                lvg, KPRes.ExitInsteadOfLockingAfterTime);
            m_cdxSecurityOptions.CreateItem(aceWL, "AlwaysExitInsteadOfLocking",
                lvg, KPRes.ExitInsteadOfLockingAlways);
            m_cdxSecurityOptions.CreateItem(Program.Config.Security, "ClipboardClearOnExit",
                lvg, KPRes.ClipboardClearOnExit);
            m_cdxSecurityOptions.CreateItem(Program.Config.Security,
                "UseClipboardViewerIgnoreFormat", lvg,
                KPRes.ClipboardViewerIgnoreFormat + " " + KPRes.NotRecommended);

            if(NativeLib.IsLibraryInstalled())
                m_cdxSecurityOptions.CreateItem(Program.Config.Native, "NativeKeyTransformations",
                    lvg, KPRes.NativeLibUse);

            m_cdxSecurityOptions.CreateItem(Program.Config.Security, "MasterKeyOnSecureDesktop",
                lvg, KPRes.MasterKeyOnSecureDesktop);
            m_cdxSecurityOptions.CreateItem(Program.Config.Security, "ClearKeyCommandLineParams",
                lvg, KPRes.ClearKeyCmdLineParams);

            m_cdxSecurityOptions.UpdateData(false);
            m_lvSecurityOptions.Columns[0].Width = m_lvSecurityOptions.ClientRectangle.Width -
                UIUtil.GetVScrollBarWidth() - 1;
        }
All Usage Examples Of KeePass.UI.CheckedLVItemDXList::CreateItem