Ejemplo n.º 1
0
        // parameters:
        //      refrsh_item 如果为空,表示要刷新全部 ListViewItem。否则只刷新这一个 ListViewItem
        void RefreshInstanceName(ListViewItem refresh_item = null)
        {
            int i = 0;

            foreach (ListViewItem item in this.listView_instance.Items)
            {
                if (refresh_item != null && item != refresh_item)
                {
                    continue;
                }
                string data_dir      = ListViewUtil.GetItemText(item, COLUMN_DATADIR);
                string instance_name = Path.GetFileName(data_dir);

                // 从配置文件中得到 instanceName 配置
                string strFileName = Path.Combine(data_dir, "capo.xml");
                string temp        = InstanceDialog.GetInstanceName(strFileName);
                if (temp != null)
                {
                    instance_name = temp;
                }

                ListViewUtil.ChangeItemText(item, COLUMN_NAME, instance_name);
                i++;
            }
        }
Ejemplo n.º 2
0
        private void button_modifyInstance_Click(object sender, EventArgs e)
        {
            string strError = "";

            if (this.listView_instance.SelectedItems.Count == 0)
            {
                strError = "尚未选择要修改的实例";
                goto ERROR1;
            }

            ListViewItem item = this.listView_instance.SelectedItems[0];

            InstanceDialog dlg = new InstanceDialog();

            FontUtil.AutoSetDefaultFont(dlg);

            dlg.ParentDialog = this;
            dlg.Index        = this.listView_instance.Items.IndexOf(item);
            dlg.InstanceName = ListViewUtil.GetItemText(item, COLUMN_NAME);
            dlg.DataDir      = ListViewUtil.GetItemText(item, COLUMN_DATADIR);

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

            if (dlg.DialogResult == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }

            RefreshItemLine(item, dlg.DataDir);
            return;

ERROR1:
            MessageBox.Show(this, strError);
        }
Ejemplo n.º 3
0
        private void button_newInstance_Click(object sender, EventArgs e)
        {
            InstanceDialog dlg = new InstanceDialog();

            FontUtil.AutoSetDefaultFont(dlg);

            dlg.ParentDialog = this;
            dlg.Index        = this.listView_instance.Items.Count;
            dlg.InstanceName = "?";
            // 找到一个没有用过的目录名字
            dlg.DataDir       = GetNewDirectoryName(this.DataDir);
            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }

            ListViewItem item = new ListViewItem(dlg.InstanceName);

            RefreshItemLine(item, dlg.DataDir);
            this.listView_instance.Items.Add(item);

            if (dlg.InstanceName.IndexOf("?") != -1)
            {
                RefreshInstanceName(item);
            }
        }
Ejemplo n.º 4
0
        private void button_newInstance_Click(object sender, EventArgs e)
        {
            InstanceDialog new_instance_dlg = new InstanceDialog();

            FontUtil.AutoSetDefaultFont(new_instance_dlg);

            new_instance_dlg.ParentDialog = this;
            new_instance_dlg.Index        = this.listView_instance.Items.Count;
            new_instance_dlg.InstanceName = "?";
            // 找到一个没有用过的目录名字
            new_instance_dlg.DataDir       = GetNewDirectoryName(this.DataDir);
            new_instance_dlg.StartPosition = FormStartPosition.CenterScreen;
            new_instance_dlg.ShowDialog(this);

            if (new_instance_dlg.DialogResult == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }

            this.Enabled = false;
            try
            {
                ListViewItem item = new ListViewItem(new_instance_dlg.InstanceName);

                RefreshItemLine(item, new_instance_dlg.DataDir);
                this.listView_instance.Items.Add(item);

                if (new_instance_dlg.InstanceName.IndexOf("?") != -1)
                {
                    RefreshInstanceName(item);
                }

                if (IsDp2CapoRunning())
                {
                    StartOrStopOneInstance(new_instance_dlg.InstanceName, "start");
                }
            }
            finally
            {
                this.Enabled = true;
            }
        }
Ejemplo n.º 5
0
        private void button_newInstance_Click(object sender, EventArgs e)
        {
            InstanceDialog dlg = new InstanceDialog();

            FontUtil.AutoSetDefaultFont(dlg);

            dlg.InstanceName = "?";
            // 找到一个没有用过的目录名字
            dlg.DataDir       = GetNewDirectoryName(this.DataDir);
            dlg.StartPosition = FormStartPosition.CenterScreen;
            dlg.ShowDialog(this);

            if (dlg.DialogResult == System.Windows.Forms.DialogResult.Cancel)
            {
                return;
            }

            ListViewItem item = new ListViewItem((this.listView_instance.Items.Count + 1).ToString());

            ListViewUtil.ChangeItemText(item, COLUMN_DATADIR, dlg.DataDir);
            this.listView_instance.Items.Add(item);
        }
Ejemplo n.º 6
0
        private void button_modifyInstance_Click(object sender, EventArgs e)
        {
            string strError = "";

            if (this.listView_instance.SelectedItems.Count == 0)
            {
                strError = "尚未选择要修改的实例";
                goto ERROR1;
            }

            ListViewItem item = this.listView_instance.SelectedItems[0];

            string strInstanceName = ListViewUtil.GetItemText(item, COLUMN_NAME);

            if (IsLocking(strInstanceName))
            {
                strError = "实例 '" + strInstanceName + "' 当前处于被锁定状态,无法进行修改操作";
                goto ERROR1;
            }

            bool bStopped = false;

            if (item.ImageIndex == IMAGEINDEX_RUNNING)
            {
                // 只对正在 running 状态的实例做停止处理
                StartOrStopOneInstance(strInstanceName,
                                       "stop");
                bStopped = true;
            }
            try
            {
                InstanceDialog dlg = new InstanceDialog();
                FontUtil.AutoSetDefaultFont(dlg);

                dlg.ParentDialog = this;
                dlg.Index        = this.listView_instance.Items.IndexOf(item);
                dlg.InstanceName = strInstanceName;
                dlg.DataDir      = ListViewUtil.GetItemText(item, COLUMN_DATADIR);

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

                if (dlg.DialogResult == System.Windows.Forms.DialogResult.Cancel)
                {
                    return;
                }

                RefreshItemLine(item, dlg.DataDir);
            }
            finally
            {
                if (bStopped)
                {
                    StartOrStopOneInstance(strInstanceName,
                                           "start");
                }
            }
            return;

ERROR1:
            MessageBox.Show(this, strError);
        }