/// <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; }
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; }
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; }
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; }