Пример #1
0
        public ChangeViewer()
        {
            toolRefresh = new ToolItem(ToolRefreshClick)
            {
                Name = "Refresh", Text = "Refresh", Glyph = GlyphType.Refresh
            };
            toolAccept = new ToolItem(ToolAcceptClick)
            {
                Name = "Accept", Text = "Accept", Glyph = GlyphType.Check
            };
            toolReject = new ToolItem(ToolRejectClick)
            {
                Name = "Reject", Text = "Reject", Glyph = GlyphType.Undo
            };
            toolDetails = new ToolItem(ToolDetailsClick)
            {
                Name = "Details", Text = "Details", Glyph = GlyphType.Tag
            };

            tools = new Toolsbar(toolRefresh,
                                 toolAccept,
                                 toolReject,
                                 toolDetails)
            {
                Name = "Bar"
            };

            listObjects = new DataTree()
            {
                Name     = "listObjects",
                DataKeys = DataTreeKeys.CheckTableAdmin | DataTreeKeys.Table | DataTreeKeys.Schema
            };
            listObjects.ListInfo.Columns.Add("Count", 35);
            listObjects.BuildColumn(listObjects.ListInfo, null, "Count");
            listObjects.SelectionChanged += ListObjectsSelectionChanged;

            listRows = new LayoutList()
            {
                EditMode         = EditModes.None,
                EditState        = EditListState.Edit,
                GenerateColumns  = false,
                GenerateToString = false,
                Mode             = LayoutListMode.List,
                Name             = "listRows"
            };
            listRows.ListInfo.Columns.Add("Row.Status", 60);
            listRows.ListInfo.Columns.Add("Row", 200).FillWidth  = true;
            listRows.ListInfo.Columns.Add("User", 100).FillWidth = true;
            listRows.SelectionChanged += RowsSelectionChanged;

            listDiff.EditMode         = EditModes.None;
            listDiff.EditState        = EditListState.Edit;
            listDiff.GenerateColumns  = false;
            listDiff.GenerateToString = false;
            listDiff.Mode             = LayoutListMode.List;
            listDiff.Name             = "listDiff";
            listDiff.Text             = "listdetails";
            listDiff.ListInfo.Columns.Add("Column", 120);
            listDiff.ListInfo.Columns.Add("OldFormat", 150).FillWidth = true;
            listDiff.ListInfo.Columns.Add("NewFormat", 150).FillWidth = true;
            listDiff.ListInfo.StyleRowName  = "ChangeRow";
            listDiff.ListInfo.HeaderVisible = false;

            this.Name = "ChangeViewer";
            this.Text = "Change Viewer";

            PackStart(tools, false, false);
            PackStart(split1, true, true);
            split1.Name           = "splitter";
            split1.Panel1.Content = listObjects;
            split1.Panel2.Content = split2;
            split2.Name           = "groupBoxMap2";
            split2.Panel1.Content = listRows;
            split2.Panel2.Content = listDiff;

            rows     = new SelectableList <LogMap>();
            rowsView = new SelectableListView <LogMap>(rows);
            //rowsView.Filter.Parameters.Add(typeof(RowChanges), LogicType.Undefined, "Row.Status", CompareType.NotEqual, DBStatus.Actual);
            listRows.ListSource = rowsView;
        }
Пример #2
0
        public DataExplorer()
        {
            contextTools = new Menubar(
                new ToolMenuItem(ToolMainRefreshOnClick)
            {
                Name = "Refresh Tree", GlyphColor = Colors.DarkBlue, Glyph = GlyphType.Refresh
            },
                new ToolMenuItem(ToolDBCheckClick)
            {
                Name = "Check Connection"
            },
                new ToolMenuItem(ToolDBRefreshClick)
            {
                Name = "Refresh Schema Info"
            },
                new ToolMenuItem(ToolDBGenerateClick)
            {
                Name = "Generate Database"
            },
                new ToolSeparator(),
                new ToolMenuItem(ToolDBExportClick)
            {
                Name = "Export"
            },
                new ToolMenuItem(ToolPatchCreateClick)
            {
                Name = "Patch Create"
            },
                new ToolMenuItem(ToolPatchLoadClick)
            {
                Name = "Patch Load"
            },
                new ToolSeparator(),
                new ToolMenuItem(ToolTableRefreshOnClick)
            {
                Name = "Refresh Table Info"
            },
                new ToolMenuItem(ToolTableReportOnClick)
            {
                Name = "Table Report"
            },
                new ToolMenuItem(ToolTableExplorerOnClick)
            {
                Name = "Table Explorer"
            },
                new ToolMenuItem(ToolSequenceRefreshOnClick)
            {
                Name = "Refresh Sequence"
            },
                new ToolSeparator(),
                new ToolMenuItem(ToolExtractDDLClick)
            {
                Name = "Extract DDL"
            },
                new ToolMenuItem(ToolSerializeClick)
            {
                Name = "Serialize"
            },
                new ToolMenuItem(ToolDeserializeClick)
            {
                Name = "Deserialize"
            },
                new ToolMenuItem(ToolLoadFileClick)
            {
                Name = "Load Files"
            })
            {
                Name = "DataExplorer"
            };

            contextAdd = new Menubar(
                new ToolMenuItem(ToolAddConnectionClick)
            {
                Name = "Connection", Glyph = GlyphType.Connectdevelop
            },
                new ToolMenuItem(ToolAddSchemaClick)
            {
                Name = "Schema", Glyph = GlyphType.Database
            },
                new ToolMenuItem(ToolAddTableGroupClick)
            {
                Name = "TableGroup", Glyph = GlyphType.FolderOTable
            },
                new ToolMenuItem(ToolAddTableClick)
            {
                Name = "Table", Glyph = GlyphType.Table
            },
                new ToolMenuItem(ToolAddColumnGroupClick)
            {
                Name = "ColumnGroup", Glyph = GlyphType.FolderOColumn
            },
                new ToolMenuItem(ToolAddColumnClick)
            {
                Name = "Column", Glyph = GlyphType.Columns
            },
                new ToolMenuItem(ToolAddIndexClick)
            {
                Name = "Index", Glyph = GlyphType.Anchor
            },
                new ToolMenuItem(ToolAddConstraintClick)
            {
                Name = "Constraint", Glyph = GlyphType.Check
            },
                new ToolMenuItem(ToolAddForeignClick)
            {
                Name = "Foreign", Glyph = GlyphType.Link
            },
                new ToolMenuItem(ToolAddSequenceClick)
            {
                Name = "Sequence", Glyph = GlyphType.Plus
            },
                new ToolMenuItem(ToolAddProcedureClick)
            {
                Name = "Procedure", Glyph = GlyphType.GearAlias
            },
                new ToolMenuItem(ToolAddProcedureParamClick)
            {
                Name = "Procedure Parameter", Glyph = GlyphType.Columns
            })
            {
                Name = "DBSchema"
            };

            contextMain = new Menubar(
                new ToolMenuItem {
                Name = "Add", GlyphColor = Colors.DarkGreen, DropDown = contextAdd, Glyph = GlyphType.PlusCircle
            },
                new ToolMenuItem(ToolCopyClick)
            {
                Name = "Copy", Glyph = GlyphType.CopyAlias
            },
                new ToolMenuItem(ToolRemoveClick)
            {
                Name = "Remove", GlyphColor = Colors.DarkRed, Glyph = GlyphType.MinusCircle
            },
                new ToolSeparator(),
                new ToolMenuItem {
                Name = "Tools", DropDown = contextTools, Glyph = GlyphType.Wrench
            },
                new ToolMenuItem(ToolPropertyClick)
            {
                Name = "Properties"
            })
            {
                Name = "Bar"
            };

            barMain = new Toolsbar(
                new ToolDropDown()
            {
                Name = "Add", GlyphColor = Colors.DarkGreen, DropDown = contextAdd, Glyph = GlyphType.PlusCircle
            },
                new ToolItem(ToolRemoveClick)
            {
                Name = "Remove", GlyphColor = Colors.DarkRed, Glyph = GlyphType.MinusCircle
            },
                new ToolItem(ToolCopyClick)
            {
                Name = "Copy", Glyph = GlyphType.CopyAlias
            },
                new ToolDropDown {
                Name = "Tools", DropDown = contextTools, Glyph = GlyphType.Wrench
            },
                new ToolSearchEntry()
            {
                Name = "FilterText"
            })
            {
                Name = "Bar"
            };

            barChanges = new Toolsbar(
                new ToolItem(ToolChangesCommitClick)
            {
                Name = "Commit", DisplayStyle = ToolItemDisplayStyle.Text
            },
                new ToolItem(ToolChangesSkipClick)
            {
                Name = "Skip", DisplayStyle = ToolItemDisplayStyle.Text
            })
            {
                Name = "Changes"
            };

            changesView = new LayoutList
            {
                Name             = "changesView",
                GenerateColumns  = false,
                AutoToStringFill = true,
                CheckView        = true,
                ListSource       = DBService.Changes
            };
            changesView.ListInfo.ColumnsVisible = false;

            dataTree = new DataTree()
            {
                Name     = "dataTree",
                DataKeys = DataTreeKeys.Schema | DataTreeKeys.TableGroup | DataTreeKeys.Table | DataTreeKeys.LogTable |
                           DataTreeKeys.ColumnGroup | DataTreeKeys.Column |
                           DataTreeKeys.Index | DataTreeKeys.Constraint | DataTreeKeys.Foreign |
                           DataTreeKeys.Procedure | DataTreeKeys.ProcedureParam | DataTreeKeys.Sequence,
                Menu        = contextMain,
                FilterEntry = ((ToolSearchEntry)barMain["FilterText"]).Entry
            };
            dataTree.CellMouseClick   += DataTreeOnNodeMouseClick;
            dataTree.CellDoubleClick  += DataTreeOnDoubleClick;
            dataTree.SelectionChanged += DataTreeOnAfterSelect;

            panel1 = new VBox {
                Name = "Panel1"
            };
            panel1.PackStart(barMain, false, false);
            panel1.PackStart(dataTree, true, true);

            panel2 = new VBox {
                Name = "Panel2"
            };
            panel2.PackStart(barChanges, false, false);
            panel2.PackStart(changesView, true, true);

            container = new VPaned();
            container.Panel1.Content = panel1;

            PackStart(container, true, true);
            Name = "DataExplorer";

            itemWindow.Target             = listExplorer;
            itemWindow.ButtonAcceptClick += AcceptOnActivated;

            DBService.DBSchemaChanged += OnDBSchemaChanged;
        }