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);
            }
        }
        private void CreateModuleWindow(UiTreeNode node)
        {
            if (node == null || !(node.ContextObject is GUIModule))
            {
                MessageBox.Show("请选择结点");
                return;
            }
            WindowDlg dlg = new WindowDlg();

            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)
            {
                GUIModule module = node.ContextObject as GUIModule;
                if (module == null)
                {
                    return;
                }

                GUIWindow window = new GUIWindow(module);
                window.Caption     = dlg.txtCaption.Text.Trim();
                window.Name        = dlg.txtName.Text.Trim();
                window.Description = dlg.txtDescription.Text.Trim();
                module.Windows.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();
                    //todo:window.MasterViews.Add(entityInfo);
                }
                else
                {
                    viewInfo   = this.project.Database.Views.Find(e => e.Name == dlg.cmbEntity.SelectedItem.ToString());
                    entityInfo = viewInfo;
                    entityInfo = (EntityInfo)((ViewInfo)entityInfo).Clone();
                    //todo:window.Entities.Add(entityInfo);
                }

                BuildEntities(entityInfo);
                UiTreeNode windowNode = new UiTreeNode(window);
                node.Nodes.Add(windowNode);
            }
        }
        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);
        }
        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);
        }
示例#5
0
 protected internal override void Creation()
 {
     GUIModule = this.WObject.GetModule <GUIModule>();
     base.Creation();
 }