示例#1
0
        /// <summary>
        /// 追加一个对象
        /// </summary>
        /// <param name="strObjectFilePath">对象文件名全路径</param>
        /// <param name="strUsage">用途字符串</param>
        /// <param name="strRights">权限</param>
        /// <param name="item">返回 ListView 中心创建的 ListViewItem 对象</param>
        /// <param name="strError">返回出错信息</param>
        /// <returns>-1: 出错; 0: 成功</returns>
        public int AppendNewItem(
            string strObjectFilePath,
            string strUsage,
            string strRights,
            out ListViewItem item,
            out string strError)
        {
            strError = "";
            item = null;

            ResObjectDlg dlg = new ResObjectDlg();
            dlg.ID = GetNewID();

            dlg.State = "";
            dlg.Usage = strUsage;
            dlg.Rights = strRights;
            dlg.RightsCfgFileName = this.RightsCfgFileName;

            int nRet = dlg.SetObjectFilePath(strObjectFilePath,
                out strError);
            if (nRet == -1)
                return -1;

            item = new ListViewItem();
            this.ListView.Items.Add(item);

            SetLineInfo(item,
                // null,
                LineState.New);
            SetResChanged(item, true);
            SetXmlChanged(item, true);

            ListViewUtil.ChangeItemText(item, COLUMN_ID, dlg.ID);
            ListViewUtil.ChangeItemText(item, COLUMN_MIME, dlg.Mime);
            ListViewUtil.ChangeItemText(item, COLUMN_LOCALPATH, dlg.LocalPath);
            ListViewUtil.ChangeItemText(item, COLUMN_SIZE, dlg.SizeString);
            ListViewUtil.ChangeItemText(item, COLUMN_TIMESTAMP, dlg.Timestamp);
            ListViewUtil.ChangeItemText(item, COLUMN_USAGE, dlg.Usage);
            ListViewUtil.ChangeItemText(item, COLUMN_RIGHTS, dlg.Rights);
            this.Changed = true;
            return 0;
        }
示例#2
0
        void menu_new_Click(object sender, EventArgs e)
        {
            ResObjectDlg dlg = new ResObjectDlg();
            GuiUtil.AutoSetDefaultFont(dlg);

            dlg.ID = GetNewID();
            dlg.State = "";
            dlg.RightsCfgFileName = this.RightsCfgFileName;

            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult != DialogResult.OK)
                return;

            ListViewItem item = new ListViewItem();
            this.ListView.Items.Add(item);

            SetLineInfo(item,
                // null,
                LineState.New);
            SetResChanged(item, true);
            SetXmlChanged(item, true);

            ListViewUtil.ChangeItemText(item, COLUMN_ID, dlg.ID);
            ListViewUtil.ChangeItemText(item, COLUMN_MIME, dlg.Mime);
            ListViewUtil.ChangeItemText(item, COLUMN_LOCALPATH, dlg.LocalPath);
            ListViewUtil.ChangeItemText(item, COLUMN_SIZE, dlg.SizeString);
            ListViewUtil.ChangeItemText(item, COLUMN_TIMESTAMP, dlg.Timestamp);
            ListViewUtil.ChangeItemText(item, COLUMN_USAGE, dlg.Usage);
            ListViewUtil.ChangeItemText(item, COLUMN_RIGHTS, dlg.Rights);
            this.Changed = true;
        }
示例#3
0
        public int ChangeObjectFile(ListViewItem item,
            string strObjectFilePath,
            string strUsage,
            string strRights,
            out string strError)
        {
            strError = "";

            if (this.ListView.Items.IndexOf(item) == -1)
            {
                strError = "item不是当前ListView的事项之一";
                return -1;
            }

            LineState old_state = GetLineState(item);
            if (old_state == LineState.Deleted)
            {
                strError = "对已经标记删除的行不能进行修改...";
                return -1;
            }
            ResObjectDlg dlg = new ResObjectDlg();
            dlg.ID = ListViewUtil.GetItemText(item, COLUMN_ID);

            dlg.State = ListViewUtil.GetItemText(item, COLUMN_STATE);
            dlg.Mime = ListViewUtil.GetItemText(item, COLUMN_MIME);
            dlg.LocalPath = ListViewUtil.GetItemText(item, COLUMN_LOCALPATH);
            dlg.SizeString = ListViewUtil.GetItemText(item, COLUMN_SIZE);
            dlg.Timestamp = ListViewUtil.GetItemText(item, COLUMN_TIMESTAMP);
            dlg.Usage = strUsage;
            dlg.Rights = strRights;
            dlg.RightsCfgFileName = this.RightsCfgFileName;

            string strOldUsage = dlg.Usage;
            string strOldRights = dlg.Rights;

            int nRet = dlg.SetObjectFilePath(strObjectFilePath,
            out strError);
            if (nRet == -1)
                return -1;

            if (old_state != LineState.New)
            {
                SetLineInfo(item,
                    // null, 
                    LineState.Changed);
                SetResChanged(item, true);
            }
            else
            {
                SetResChanged(item, true);
            }

            if (strOldRights != dlg.Rights
                || strOldUsage != dlg.Usage)
                SetXmlChanged(item, true);

            ListViewUtil.ChangeItemText(item, COLUMN_MIME, dlg.Mime);
            ListViewUtil.ChangeItemText(item, COLUMN_LOCALPATH, dlg.LocalPath);
            ListViewUtil.ChangeItemText(item, COLUMN_SIZE, dlg.SizeString);
            ListViewUtil.ChangeItemText(item, COLUMN_TIMESTAMP, dlg.Timestamp);
            ListViewUtil.ChangeItemText(item, COLUMN_USAGE, dlg.Usage);
            ListViewUtil.ChangeItemText(item, COLUMN_RIGHTS, dlg.Rights);
            this.Changed = true;
            return 0;
        }
示例#4
0
        void menu_modify_Click(object sender, EventArgs e)
        {
            if (this.ListView.SelectedItems.Count == 0)
            {
                MessageBox.Show(this, "尚未选择要修改的行...");
                return;
            }

            ListViewItem item = this.ListView.SelectedItems[0];
            LineState old_state = GetLineState(item);

            if (old_state == LineState.Deleted)
            {
                MessageBox.Show(this, "对已经标记删除的行不能进行修改...");
                return;
            }

            ResObjectDlg dlg = new ResObjectDlg();
            GuiUtil.AutoSetDefaultFont(dlg);
            dlg.ID = ListViewUtil.GetItemText(item, COLUMN_ID);

            dlg.State = ListViewUtil.GetItemText(item, COLUMN_STATE);
            dlg.Mime = ListViewUtil.GetItemText(item, COLUMN_MIME);
            dlg.LocalPath = ListViewUtil.GetItemText(item, COLUMN_LOCALPATH);
            dlg.SizeString = ListViewUtil.GetItemText(item, COLUMN_SIZE);
            dlg.Timestamp = ListViewUtil.GetItemText(item, COLUMN_TIMESTAMP);
            dlg.Usage = ListViewUtil.GetItemText(item, COLUMN_USAGE);
            dlg.Rights = ListViewUtil.GetItemText(item, COLUMN_RIGHTS);
            dlg.RightsCfgFileName = this.RightsCfgFileName;

            string strOldUsage = dlg.Usage;
            string strOldRights = dlg.Rights;

            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult != DialogResult.OK)
                return;

            if (old_state != LineState.New)
            {
                SetLineInfo(item,
                    // null, 
                    LineState.Changed);
                SetResChanged(item, dlg.ResChanged);
            }
            else
            {
                SetResChanged(item, true);
            }

            if (strOldRights != dlg.Rights
                || strOldUsage != dlg.Usage)
                SetXmlChanged(item, true);

            ListViewUtil.ChangeItemText(item, COLUMN_MIME, dlg.Mime);
            ListViewUtil.ChangeItemText(item, COLUMN_LOCALPATH, dlg.LocalPath);
            ListViewUtil.ChangeItemText(item, COLUMN_SIZE, dlg.SizeString);
            ListViewUtil.ChangeItemText(item, COLUMN_TIMESTAMP, dlg.Timestamp);
            ListViewUtil.ChangeItemText(item, COLUMN_USAGE, dlg.Usage);
            ListViewUtil.ChangeItemText(item, COLUMN_RIGHTS, dlg.Rights);
            this.Changed = true;
        }