Beispiel #1
0
        public void Initialize()
        {
            mainForm.LockManagerLocksListView.Items.Clear();
            mainForm.LockManagerPendingListView.Items.Clear();
            mainForm.LockManagerLocksListView.SmallImageList   = MogUtil_AssetIcons.Images;
            mainForm.LockManagerPendingListView.SmallImageList = MogUtil_AssetIcons.Images;

            // Locks
            mListViewSort_Manager.Add(new ListViewSortManager(mainForm.LockManagerLocksListView, new Type[] {
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewInt32Sort),
                typeof(ListViewDateSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
            }));
            // RequestLocks
            mListViewSort_Manager.Add(new ListViewSortManager(mainForm.LockManagerPendingListView, new Type[] {
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewInt32Sort),
                typeof(ListViewDateSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
                typeof(ListViewTextCaseInsensitiveSort),
            }));

            // Populate our list of locks
            MOG_CommandClient client = MOG_ControllerSystem.GetCommandManager() as MOG_CommandClient;

            if (client != null)
            {
                // Check if we already have the locks from the server?
                ArrayList locks = client.GetLocks();
                if (locks.Count > 0)
                {
                    ArrayList lockItems = new ArrayList();

                    // Create the new lock items for each lock
                    foreach (MOG_Command lockCommand in locks)
                    {
                        ListViewItem newLockItem = InitNewLockItem(lockCommand);
                        if (newLockItem != null)
                        {
                            lockItems.Add(newLockItem);
                        }
                    }

                    // Add them all at once because it is much faster
                    AddLockItems(lockItems);
                }
                else
                {
                    // Looks like we need to request the locks from the server (this is much slower)
                    MOG_ControllerSystem.RequestActiveLocks();
                }
            }
        }