コード例 #1
0
        private void CreateCommonModuleDialog(UiTreeNode node)
        {
            if (node == null || !(node.ContextObject is CommonModule))
            {
                MessageBox.Show("请选择结点");
                return;
            }

            WindowDlg dlg = new WindowDlg();

            dlg.Text = "添加窗口信息";
            foreach (TableInfo table in this.project.Database.Tables)
            {
                dlg.cmbEntity.Items.Add(table);
            }
            foreach (ViewInfo view in this.project.Database.Views)
            {
                dlg.cmbEntity.Items.Add(view);
            }

            dlg.cmbEntity.SelectedIndex = 0;
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                CommonModule module = node.ContextObject as CommonModule;
                if (module == null)
                {
                    return;
                }

                GUIDialog window = new GUIDialog(module);
                window.Caption     = dlg.txtCaption.Text.Trim();
                window.Name        = dlg.txtName.Text.Trim();
                window.Description = dlg.txtDescription.Text.Trim();
                module.Dialogs.Add(window);

                EntityInfo entityInfo = null;
                TableInfo  tableInfo  = null;
                ViewInfo   viewInfo   = null;
                tableInfo  = this.project.Database.Tables.Find(e => e.Name == dlg.cmbEntity.SelectedItem.ToString());
                entityInfo = tableInfo;

                if (entityInfo != null)
                {
                    entityInfo = (EntityInfo)((TableInfo)entityInfo).Clone();
                }
                else
                {
                    viewInfo   = this.project.Database.Views.Find(e => e.Name == dlg.cmbEntity.SelectedItem.ToString());
                    entityInfo = viewInfo;
                    entityInfo = (EntityInfo)((ViewInfo)entityInfo).Clone();
                }

                window.Entities.Add(entityInfo);
                window.ResultTableName = entityInfo.Name;

                BuildEntities(entityInfo);
                UiTreeNode windowNode = new UiTreeNode(window);
                node.Nodes.Add(windowNode);
            }
        }
コード例 #2
0
        private void tbnWindowAdd_Click(object sender, EventArgs e)
        {
            UiTreeNode node = tvUI.SelectedNode as UiTreeNode;

            //if (node == null || !(node.ContextObject is Module))
            //{
            //    MessageBox.Show("请选择结点");
            //    return;
            //}
            if (node == null)
            {
                return;
            }
            if (node.ContextObject is GUIModule)
            {
                CreateModuleWindow(node);
                return;
            }

            if (node.ContextObject is CommonModule)
            {
                CreateCommonModuleDialog(node);
                return;
            }

            if (node.ContextObject is GUILoginModule)
            {
                CreateLoginModuleDialog(node);
                return;
            }
        }
コード例 #3
0
        private void tbnModuleAdd_Click(object sender, EventArgs e)
        {
            UiTreeNode node = tvUI.SelectedNode as UiTreeNode;

            if (node == null || !(node.ContextObject is GUISystemModule))
            {
                MessageBox.Show("请选择结点");
                return;
            }

            ModuleDlg dlg = new ModuleDlg();

            dlg.Text = "添加模块信息";
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                GUISystemModule systemModule = node.ContextObject as GUISystemModule;
                if (systemModule == null)
                {
                    return;
                }

                GUIModule module = new GUIModule(systemModule);
                module.Caption     = dlg.txtCaption.Text.Trim();
                module.Name        = dlg.txtName.Text.Trim();
                module.Description = dlg.txtDescription.Text.Trim();
                systemModule.Modules.Add(module);

                UiTreeNode moduleNode = new UiTreeNode(module);
                node.Nodes.Add(moduleNode);
            }
        }
コード例 #4
0
        private void BuildUITreeFromProject()
        {
            this.tvUI.Nodes.Clear();
            // ExplorerTreeNode
            UiTreeNode uiRootNode = new UiTreeNode(this.CurrentProject);

            // uiRootNode.Name = "ProjectRoot";
            tvUI.Nodes.Add(uiRootNode);

            //DbTreeNode loginModuleNode = new DbTreeNode(this.project.Ui.LoadModule.ToString(), 1, 1, this.project.Ui.LoadModule, TreeNodeType.LoginModule);
            //loginModuleNode.Name = "LoginModule";
            //loginModuleNode.Tag = "LoginModule";

            //DbTreeNode commonModuleNode = new DbTreeNode(this.project.Ui.CommonModule.ToString(), 1, 1, this.project.Ui.CommonModule, TreeNodeType.CommonModule);
            //commonModuleNode.Name = "CommonModule";
            //commonModuleNode.Tag = "CommonModule";

            //DbTreeNode systemModuleNode = new DbTreeNode(this.project.Ui.SystemModule.ToString(), 1, 1, this.project.Ui.SystemModule, TreeNodeType.SystemModule);
            //systemModuleNode.Name = "SystemModule";
            //systemModuleNode.Tag = "SystemModule";

            //uiRootNode.Nodes.Add(loginModuleNode);
            //uiRootNode.Nodes.Add(commonModuleNode);
            //uiRootNode.Nodes.Add(systemModuleNode);
            tvUI.ExpandAll();

            tbnModuleAdd.Enabled    = false;
            tbnModuleDelete.Enabled = false;
            tbnWindowAdd.Enabled    = false;
            tbnWindowDelete.Enabled = false;
            tbnTableAdd.Enabled     = false;
            tbnTableDelete.Enabled  = false;
        }
コード例 #5
0
        private void tbnTableAdd_Click(object sender, EventArgs e)
        {
            UiTreeNode node = tvUI.SelectedNode as UiTreeNode;

            if (node == null || !(node.ContextObject is GUIWindow))
            {
                MessageBox.Show("请选择结点");
                return;
            }

            TableDlg dlg = new TableDlg();

            dlg.Text = "添加表/视图信息";
            foreach (TableInfo item in this.project.Database.Tables)
            {
                dlg.cmbEntity.Items.Add(item);
            }
            foreach (ViewInfo item in this.project.Database.Views)
            {
                dlg.cmbEntity.Items.Add(item);
            }

            dlg.cmbEntity.SelectedIndex = 0;
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                GUIWindow window = node.ContextObject as GUIWindow;
                if (window == null)
                {
                    return;
                }

                TableInfo entityInfo = null;
                entityInfo = this.project.Database.Tables.Find(o => o.Name == dlg.cmbEntity.SelectedItem.ToString());
                //todo:
                //if (entityInfo != null)
                //{
                //    window.Entities.Add((EntityInfo)((TableInfo)entityInfo).Clone());
                //}
                //else
                //{
                //    ViewInfo viewInfo = null;
                //    viewInfo=this.project.Database.Views.Find(o=>o.Name==dlg.cmbEntity.SelectedItem.ToString());

                //    window.Entities.Add((EntityInfo)((ViewInfo)viewInfo).Clone());
                //}

                //BuildEntities(entityInfo);

                UiTreeNode moduleNode = new UiTreeNode(entityInfo);
                node.Nodes.Add(moduleNode);
            }
        }
コード例 #6
0
        private void CreateLoginModuleDialog(UiTreeNode node)
        {
            if (node == null || !(node.ContextObject is GUILoginModule))
            {
                MessageBox.Show("请选择结点");
                return;
            }

            LoginWindowDlg dlg = new LoginWindowDlg();

            dlg.Project = this.project;
            dlg.Text    = "添加登录窗口";
            foreach (TableInfo entity in this.project.Database.Tables)
            {
                dlg.cmbEntity.Items.Add(entity);
            }

            dlg.cmbEntity.SelectedIndex = 0;

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                GUILoginModule module = node.ContextObject as GUILoginModule;
                if (module == null)
                {
                    return;
                }


                TableInfo entityInfo = this.project.Database.Tables.Find(e => e.Name == dlg.cmbEntity.SelectedItem.ToString());

                if (entityInfo == null)
                {
                    return;
                }

                module.TableName     = ((TableInfo)entityInfo).Name;
                module.AccountField  = dlg.cmbAccountField.SelectedItem.ToString();
                module.PasswordField = dlg.cmbPasswordField.SelectedItem.ToString();
            }
        }
コード例 #7
0
        private void tbnModuleDelete_Click(object sender, EventArgs e)
        {
            UiTreeNode node = tvUI.SelectedNode as UiTreeNode;

            if (node == null || !(node.ContextObject is GUIModule))
            {
                MessageBox.Show("请选择结点");
                return;
            }
            GUIModule module = node.ContextObject as GUIModule;

            UiTreeNode systemModuleNode = node.Parent as UiTreeNode;

            GUISystemModule systemModule = systemModuleNode.ContextObject as GUISystemModule;

            if (systemModule == null || !(node.ContextObject is GUISystemModule))
            {
                return;
            }

            systemModule.Modules.RemoveAll(o => o.Name == module.Name);
            systemModuleNode.Nodes.Remove(node);
        }
コード例 #8
0
        private void tbnWindowDelete_Click(object sender, EventArgs e)
        {
            UiTreeNode node = tvUI.SelectedNode as UiTreeNode;

            if (node == null || !(node.ContextObject is GUIWindow))
            {
                MessageBox.Show("请选择窗口");
                return;
            }

            GUIWindow window = node.ContextObject as GUIWindow;

            UiTreeNode moduleNode = node.Parent as UiTreeNode;

            GUIModule module = moduleNode.ContextObject as GUIModule;

            if (module == null || node.ContextObject is GUIModule)
            {
                return;
            }

            module.Windows.RemoveAll(o => o.Name == window.Name);
            moduleNode.Nodes.Remove(node);
        }
コード例 #9
0
        private void tvUI_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            UiTreeNode node = (UiTreeNode)e.Node;

            uiPGNamedObject.SelectedObject = node.ContextObject;
            uiPGNamedObject.Refresh();
            if (node.ContextObject is GUISystemModule)
            {
                tbnModuleAdd.Enabled    = true;
                tbnModuleDelete.Enabled = false;
                tbnWindowAdd.Enabled    = false;
                tbnWindowDelete.Enabled = false;
                tbnTableAdd.Enabled     = false;
                tbnTableDelete.Enabled  = false;
                return;
            }


            if (node.ContextObject is GUIModule)
            {
                tbnModuleAdd.Enabled    = false;
                tbnModuleDelete.Enabled = true;
                tbnWindowAdd.Enabled    = true;
                tbnWindowDelete.Enabled = false;
                tbnTableAdd.Enabled     = false;
                tbnTableDelete.Enabled  = false;
                return;
            }

            if (node.ContextObject is CommonModule || node.ContextObject is GUILoginModule)
            {
                tbnModuleAdd.Enabled    = false;
                tbnModuleDelete.Enabled = false;
                tbnWindowAdd.Enabled    = true;
                tbnWindowDelete.Enabled = false;
                tbnTableAdd.Enabled     = false;
                tbnTableDelete.Enabled  = false;
                return;
            }

            if (node.ContextObject is GUIWindow)
            {
                tbnModuleAdd.Enabled    = false;
                tbnModuleDelete.Enabled = false;
                tbnWindowAdd.Enabled    = false;
                tbnWindowDelete.Enabled = true;
                tbnTableAdd.Enabled     = true;
                tbnTableDelete.Enabled  = false;
                return;
            }

            if (node.ContextObject is EntityInfo)
            {
                tbnModuleAdd.Enabled    = false;
                tbnModuleDelete.Enabled = false;
                tbnWindowAdd.Enabled    = false;
                tbnWindowDelete.Enabled = false;
                tbnTableAdd.Enabled     = false;
                tbnTableDelete.Enabled  = true;
                return;
            }

            if (node.ContextObject  is ForeignKeyConstraint)
            {
                tbnModuleAdd.Enabled    = false;
                tbnModuleDelete.Enabled = false;
                tbnWindowAdd.Enabled    = false;
                tbnWindowDelete.Enabled = false;
                tbnTableAdd.Enabled     = true;
                tbnTableDelete.Enabled  = false;
                return;
            }

            tbnModuleAdd.Enabled    = false;
            tbnModuleDelete.Enabled = false;
            tbnWindowAdd.Enabled    = false;
            tbnWindowDelete.Enabled = false;
            tbnTableAdd.Enabled     = false;
            tbnTableDelete.Enabled  = false;
        }