コード例 #1
0
ファイル: WmUiBroker.cs プロジェクト: tmbx/kwm
        /// <summary>
        /// Request the specified user to be seleted in the specified
        /// workspace. If updateUIFlag is set, set the selection in the UI.
        /// </summary>
        public void RequestSelectUser(Workspace kws, UInt32 userID, bool updateUIFlag)
        {
            KwsBrowserKwsNode bNode = Browser.GetKwsNodeByKws(kws);

            // Validate the request.
            KwsUserInfo userInfo = kws.CoreData.UserInfo;
            if (!userInfo.IsUser(userID)) userID = 0;

            // Get the selected user, if any.
            KwsUser user = userInfo.GetUserByID(userID);
            if (user == null) return;

            // The user selection hasn't changed.
            if (user == bNode.SelectedUser) return;

            // We're changing the WM state.
            m_wm.SetDirty();

            // Update the selected user.
            bNode.SelectedUser = user;
            kws.FireKwsUserChanged(userID);

            if (updateUIFlag)
                RequestKwsUiUpdateIfSelected(kws);
        }