SqlDb: Added metadata tab to SQLStringsPropertyEditorDlg, issue #21815, patch from Ludo Brands

git-svn-id: trunk@37319 -
This commit is contained in:
juha 2012-05-18 16:53:53 +00:00
parent 692d98a01c
commit 416107fbbc
11 changed files with 529 additions and 169 deletions

View File

@ -9,6 +9,26 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
#: sqlstringspropertyeditordlg.smetacolumns
msgid "Columns"
msgstr ""
#: sqlstringspropertyeditordlg.smetaprocedures
msgid "Procedures"
msgstr ""
#: sqlstringspropertyeditordlg.smetasystables
msgid "SysTables"
msgstr ""
#: sqlstringspropertyeditordlg.smetatabcaption
msgid "Metadata"
msgstr ""
#: sqlstringspropertyeditordlg.smetatables
msgid "Tables"
msgstr ""
#: sqlstringspropertyeditordlg.sresulttabcaption
msgid "Results"
msgstr "Ergebnisse"

View File

@ -1,4 +1,3 @@
Massimo Soricetti <notturno@quipo.it>, 2011.
msgid ""
msgstr ""
"PO-Revision-Date: 2011-04-20 17:49+0200\n"
@ -11,6 +10,26 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Virtaal 0.5.1\n"
#: sqlstringspropertyeditordlg.smetacolumns
msgid "Columns"
msgstr ""
#: sqlstringspropertyeditordlg.smetaprocedures
msgid "Procedures"
msgstr ""
#: sqlstringspropertyeditordlg.smetasystables
msgid "SysTables"
msgstr ""
#: sqlstringspropertyeditordlg.smetatabcaption
msgid "Metadata"
msgstr ""
#: sqlstringspropertyeditordlg.smetatables
msgid "Tables"
msgstr ""
#: sqlstringspropertyeditordlg.sresulttabcaption
msgid "Results"
msgstr "Risultati"

View File

@ -10,6 +10,26 @@ msgstr ""
"MIME-Version: 1.0\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: sqlstringspropertyeditordlg.smetacolumns
msgid "Columns"
msgstr ""
#: sqlstringspropertyeditordlg.smetaprocedures
msgid "Procedures"
msgstr ""
#: sqlstringspropertyeditordlg.smetasystables
msgid "SysTables"
msgstr ""
#: sqlstringspropertyeditordlg.smetatabcaption
msgid "Metadata"
msgstr ""
#: sqlstringspropertyeditordlg.smetatables
msgid "Tables"
msgstr ""
#: sqlstringspropertyeditordlg.sresulttabcaption
msgid "Results"
msgstr "Rezultatai"

View File

@ -1,6 +1,26 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
#: sqlstringspropertyeditordlg.smetacolumns
msgid "Columns"
msgstr ""
#: sqlstringspropertyeditordlg.smetaprocedures
msgid "Procedures"
msgstr ""
#: sqlstringspropertyeditordlg.smetasystables
msgid "SysTables"
msgstr ""
#: sqlstringspropertyeditordlg.smetatabcaption
msgid "Metadata"
msgstr ""
#: sqlstringspropertyeditordlg.smetatables
msgid "Tables"
msgstr ""
#: sqlstringspropertyeditordlg.sresulttabcaption
msgid "Results"
msgstr ""

View File

@ -9,6 +9,26 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
#: sqlstringspropertyeditordlg.smetacolumns
msgid "Columns"
msgstr ""
#: sqlstringspropertyeditordlg.smetaprocedures
msgid "Procedures"
msgstr ""
#: sqlstringspropertyeditordlg.smetasystables
msgid "SysTables"
msgstr ""
#: sqlstringspropertyeditordlg.smetatabcaption
msgid "Metadata"
msgstr ""
#: sqlstringspropertyeditordlg.smetatables
msgid "Tables"
msgstr ""
#: sqlstringspropertyeditordlg.sresulttabcaption
msgid "Results"
msgstr "Resultados"

View File

@ -9,6 +9,26 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
#: sqlstringspropertyeditordlg.smetacolumns
msgid "Columns"
msgstr ""
#: sqlstringspropertyeditordlg.smetaprocedures
msgid "Procedures"
msgstr ""
#: sqlstringspropertyeditordlg.smetasystables
msgid "SysTables"
msgstr ""
#: sqlstringspropertyeditordlg.smetatabcaption
msgid "Metadata"
msgstr ""
#: sqlstringspropertyeditordlg.smetatables
msgid "Tables"
msgstr ""
#: sqlstringspropertyeditordlg.sresulttabcaption
msgid "Results"
msgstr "Resultados"

View File

@ -9,6 +9,26 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
#: sqlstringspropertyeditordlg.smetacolumns
msgid "Columns"
msgstr ""
#: sqlstringspropertyeditordlg.smetaprocedures
msgid "Procedures"
msgstr ""
#: sqlstringspropertyeditordlg.smetasystables
msgid "SysTables"
msgstr ""
#: sqlstringspropertyeditordlg.smetatabcaption
msgid "Metadata"
msgstr ""
#: sqlstringspropertyeditordlg.smetatables
msgid "Tables"
msgstr ""
#: sqlstringspropertyeditordlg.sresulttabcaption
msgid "Results"
msgstr "Результаты"

View File

@ -9,6 +9,26 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Transfer-Encoding: 8bit\n"
#: sqlstringspropertyeditordlg.smetacolumns
msgid "Columns"
msgstr ""
#: sqlstringspropertyeditordlg.smetaprocedures
msgid "Procedures"
msgstr ""
#: sqlstringspropertyeditordlg.smetasystables
msgid "SysTables"
msgstr ""
#: sqlstringspropertyeditordlg.smetatabcaption
msgid "Metadata"
msgstr ""
#: sqlstringspropertyeditordlg.smetatables
msgid "Tables"
msgstr ""
#: sqlstringspropertyeditordlg.sresulttabcaption
msgid "Results"
msgstr "Результати"

View File

@ -12,6 +12,26 @@ msgstr ""
"X-Poedit-Country: CHINA\n"
"X-Poedit-SourceCharset: utf-8\n"
#: sqlstringspropertyeditordlg.smetacolumns
msgid "Columns"
msgstr ""
#: sqlstringspropertyeditordlg.smetaprocedures
msgid "Procedures"
msgstr ""
#: sqlstringspropertyeditordlg.smetasystables
msgid "SysTables"
msgstr ""
#: sqlstringspropertyeditordlg.smetatabcaption
msgid "Metadata"
msgstr ""
#: sqlstringspropertyeditordlg.smetatables
msgid "Tables"
msgstr ""
#: sqlstringspropertyeditordlg.sresulttabcaption
msgid "Results"
msgstr "返回值"

View File

@ -1,7 +1,7 @@
object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
Left = 527
Left = 422
Height = 357
Top = 248
Top = 223
Width = 494
ActiveControl = PageControl
Caption = 'SQLStringsPropertyEditorDlg'
@ -9,17 +9,21 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
ClientWidth = 494
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '0.9.29'
LCLVersion = '1.1'
object ButtonsPanel: TButtonPanel
Left = 6
Height = 35
Top = 316
Height = 34
Top = 317
Width = 482
OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
HelpButton.Name = 'HelpButton'
HelpButton.DefaultCaption = True
CloseButton.Name = 'CloseButton'
CloseButton.DefaultCaption = True
CloseButton.Enabled = False
CancelButton.Name = 'CancelButton'
CancelButton.DefaultCaption = True
TabOrder = 0
ShowButtons = [pbOK, pbCancel, pbHelp]
end
@ -51,19 +55,19 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
object DividerToolButton: TToolButton
Left = 57
Top = 2
Width = 4
Width = 5
Caption = 'DividerToolButton'
Style = tbsDivider
end
object ExecuteToolButton: TToolButton
Left = 61
Left = 62
Top = 2
Caption = 'ExecuteToolButton'
ImageIndex = 2
OnClick = ExecuteToolButtonClick
end
object TBCheck: TToolButton
Left = 89
Left = 90
Top = 2
Caption = 'TBCheck'
ImageIndex = 3
@ -72,7 +76,7 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
end
object PageControl: TPageControl
Left = 0
Height = 280
Height = 281
Top = 30
Width = 494
ActivePage = EditorTabSheet
@ -80,13 +84,13 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
TabIndex = 0
TabOrder = 2
object EditorTabSheet: TTabSheet
ClientHeight = 249
ClientWidth = 490
ClientHeight = 255
ClientWidth = 486
inline SQLEditor: TSynEdit
Left = 0
Height = 249
Height = 255
Top = 0
Width = 490
Width = 486
Align = alClient
Font.Height = -16
Font.Name = '-misc-dejavu sans mono-*-*-*-*-*-*-*-*-*-*-iso10646-1'
@ -96,53 +100,28 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
ParentFont = False
PopupMenu = PMSQL
TabOrder = 0
OnMouseDown = SQLEditorMouseDown
Gutter.Width = 61
Gutter.MouseActions = <
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 13
MoveCaret = False
Option = 0
Priority = 0
Command = emcOnMainGutterClick
end
item
Shift = []
ShiftMask = []
Button = mbRight
ClickCount = ccSingle
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
Command = emcContextMenu
end>
RightGutter.Width = 0
RightGutter.MouseActions = <
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 13
MoveCaret = False
Option = 0
Priority = 0
Command = emcOnMainGutterClick
end
item
Shift = []
ShiftMask = []
Button = mbRight
ClickCount = ccSingle
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
Command = emcContextMenu
end>
Highlighter = SQLHighlighter
Keystrokes = <
@ -468,131 +447,88 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
end>
MouseActions = <
item
Shift = []
ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 1
Command = emcStartSelections
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = [ssShift]
ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 1
Command = emcStartSelections
MoveCaret = True
Option = 1
Priority = 0
end
item
Shift = [ssAlt]
ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 3
Command = emcStartColumnSelections
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = [ssShift, ssAlt]
ShiftMask = [ssShift, ssAlt]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 3
Command = emcStartColumnSelections
MoveCaret = True
Option = 1
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbRight
ClickCount = ccSingle
ClickDir = cdUp
Command = 12
MoveCaret = False
Option = 0
Priority = 0
Command = emcContextMenu
end
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccDouble
ClickDir = cdDown
Command = 6
Command = emcSelectWord
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccTriple
ClickDir = cdDown
Command = 7
Command = emcSelectLine
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccQuad
ClickDir = cdDown
Command = 8
Command = emcSelectPara
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbMiddle
ClickCount = ccSingle
ClickDir = cdDown
Command = 10
Command = emcPasteSelection
MoveCaret = True
Option = 0
Priority = 0
end
item
Shift = [ssCtrl]
ShiftMask = [ssShift, ssAlt, ssCtrl]
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdUp
Command = 11
MoveCaret = False
Option = 0
Priority = 0
Command = emcMouseLink
end>
MouseSelActions = <
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccSingle
ClickDir = cdDown
Command = 9
MoveCaret = False
Option = 0
Priority = 0
Command = emcStartDragMove
end>
VisibleSpecialChars = [vscSpace, vscTabAtLast]
BracketHighlightStyle = sbhsBoth
BracketMatchColor.Background = clNone
BracketMatchColor.Foreground = clNone
BracketMatchColor.Style = [fsBold]
FoldedCodeColor.Background = clNone
FoldedCodeColor.Foreground = clGray
FoldedCodeColor.FrameColor = clGray
MouseLinkColor.Background = clNone
MouseLinkColor.Foreground = clBlue
LineHighlightColor.Background = clNone
LineHighlightColor.Foreground = clNone
inline SynGutterPartList1: TSynGutterPartList
object SynGutterMarks1: TSynGutterMarks
Width = 24
MouseActions = <>
end
object SynGutterLineNumber1: TSynGutterLineNumber
Width = 21
@ -606,35 +542,26 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
end
object SynGutterChanges1: TSynGutterChanges
Width = 4
MouseActions = <>
ModifiedColor = 59900
SavedColor = clGreen
end
object SynGutterSeparator1: TSynGutterSeparator
Width = 2
MouseActions = <>
end
object SynGutterCodeFolding1: TSynGutterCodeFolding
MouseActions = <
item
Shift = []
ShiftMask = []
Button = mbRight
ClickCount = ccSingle
ClickDir = cdUp
Command = 16
MoveCaret = False
Option = 0
Priority = 0
Command = emcCodeFoldContextMenu
end
item
Shift = []
ShiftMask = [ssShift]
Button = mbMiddle
ClickCount = ccAny
ClickDir = cdDown
Command = 14
MoveCaret = False
Option = 0
Priority = 0
Command = emcCodeFoldCollaps
end
item
Shift = [ssShift]
@ -642,75 +569,52 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
Button = mbMiddle
ClickCount = ccAny
ClickDir = cdDown
Command = 14
MoveCaret = False
Command = emcCodeFoldCollaps
Option = 1
Priority = 0
end
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 0
MoveCaret = False
Option = 0
Priority = 0
Command = emcNone
end>
MarkupInfo.Background = clNone
MarkupInfo.Foreground = clGray
MouseActionsExpanded = <
item
Shift = []
ShiftMask = []
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 14
MoveCaret = False
Option = 0
Priority = 0
Command = emcCodeFoldCollaps
end>
MouseActionsCollapsed = <
item
Shift = [ssCtrl]
ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 15
MoveCaret = False
Option = 0
Priority = 0
Command = emcCodeFoldExpand
end
item
Shift = []
ShiftMask = [ssCtrl]
Button = mbLeft
ClickCount = ccAny
ClickDir = cdDown
Command = 15
MoveCaret = False
Command = emcCodeFoldExpand
Option = 1
Priority = 0
end>
end
end
inline SynRightGutterPartList1: TSynRightGutterPartList
end
end
end
object ResultTabSheet: TTabSheet
ClientHeight = 249
ClientWidth = 490
ClientHeight = 255
ClientWidth = 486
object ResultDBGrid: TDBGrid
Left = 0
Height = 285
Height = 255
Top = 0
Width = 494
Width = 486
Align = alClient
AutoEdit = False
Color = clWindow
Columns = <>
DataSource = SQLDataSource
Options = [dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete]
@ -718,12 +622,75 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
TabOrder = 0
end
end
object MetaTabSheet: TTabSheet
ClientHeight = 255
ClientWidth = 486
object CbxMetaData: TComboBox
Left = 8
Height = 21
Hint = 'Select the type of metadata to retrieve.'
Top = 9
Width = 132
ItemHeight = 13
ParentShowHint = False
ShowHint = True
TabOrder = 0
end
object EdtObject: TEdit
Left = 196
Height = 21
Hint = 'Specify the object (table) for which you want to view the metadata.'
Top = 9
Width = 104
ParentShowHint = False
ShowHint = True
TabOrder = 1
end
object Label1: TLabel
Left = 148
Height = 14
Top = 12
Width = 37
Caption = 'Object:'
ParentColor = False
end
object MetaDBGrid: TDBGrid
Left = 0
Height = 219
Top = 36
Width = 486
Align = alBottom
Anchors = [akTop, akLeft, akRight, akBottom]
Color = clWindow
Columns = <>
DataSource = SQLDataSource1
PopupMenu = PMMeta
ReadOnly = True
TabOrder = 2
OnDblClick = MetaDBGridDblClick
end
end
end
object SQLHighlighter: TSynSQLSyn
DefaultFilter = 'SQL Files (*.sql)|*.sql'
Enabled = False
CommentAttri.FrameEdges = sfeAround
DataTypeAttri.FrameEdges = sfeAround
DefaultPackageAttri.FrameEdges = sfeAround
ExceptionAttri.FrameEdges = sfeAround
FunctionAttri.FrameEdges = sfeAround
IdentifierAttri.FrameEdges = sfeAround
KeyAttri.FrameEdges = sfeAround
NumberAttri.FrameEdges = sfeAround
PLSQLAttri.FrameEdges = sfeAround
SpaceAttri.FrameEdges = sfeAround
SQLPlusAttri.FrameEdges = sfeAround
StringAttri.FrameEdges = sfeAround
SymbolAttri.FrameEdges = sfeAround
TableNameAttri.FrameEdges = sfeAround
VariableAttri.FrameEdges = sfeAround
SQLDialect = sqlInterbase6
left = 124
left = 120
top = 156
end
object OpenDialog: TOpenDialog
@ -737,7 +704,7 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
top = 157
end
object SQLQuery: TSQLQuery
ReadOnly = False
FieldDefs = <>
Params = <>
left = 220
top = 157
@ -920,11 +887,83 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
top = 101
object MICheck: TMenuItem
Caption = 'Check syntax'
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000052000000FF000000FF0000
001A000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000FF9DC59FFF92BE93FF0000
00FF000000220000000000000000000000000000000000000000000000000000
000000000000000000000000000000000052000000FFB8D6B8FF59915BFF5991
5BFF000000FF0000001A00000000000000000000000000000000000000000000
0000000000000000000000000000000000FFA6CBA8FF6C9D6DFF000000FF0000
00FF59915BFF000000FF00000022000000000000000000000000000000000000
0000000000000000000000000071132C13FF76A677FF000000FF000000220000
0000000000FF59915BFF000000FF0000001A0000000000000000000000000000
00000000000000000000000000FF88BA8AFF000000FF0000001A000000000000
000000000000000000FF59915BFF000000FF0000001A00000000000000000000
00000000000000000000000000FF000000FF0000002200000000000000000000
00000000000000000000000000FF59915BFF000000FF0000001A000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000FF59915BFF000000FF000000FF0000
00FF0000000000000000000000FF00000000000000FF000000FF000000FF0000
00FF00000042000000000000000000000000000000FF00000074000000FF0000
00FF0000000000000000000000FF00000000000000FF000000FF000000000000
0000000000FF0000000000000000000000000000000000000000000000FF0000
00FF000000FF000000FF000000FF00000000000000FF000000FF000000000000
0000000000FF0000000000000000000000000000000000000000000000FF0000
00FF0000000000000000000000FF00000000000000FF000000FF000000FF0000
00FF000000420000000000000000000000000000000000000000000000FF0000
00FF0000000000000000000000FF00000000000000FF000000FF000000000000
0000000000FF0000000000000000000000000000000000000000000000420000
00FF000000FF000000FF0000005400000000000000FF000000FF000000FF0000
00FF000000420000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
ImageIndex = 3
OnClick = TBCheckClick
end
object MICleanup: TMenuItem
Caption = 'Clean-up Delphi code'
Bitmap.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00008B9C1F008C9DED008D9EEC008D
9E9E008B9C21FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00008B9C13008D9EE24FC3D2FD5BD3E1FF30B5
C6FA0890A1F6008D9FA9008B9C14FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00008E9FC536B5C5FA5FD8E7FF26CADFFF4ED4
E5FF6DD9E7FF32B4C5FB008D9EE6008B9C26FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00008B9C431A9BABF66CDAE8FF10C5DCFF03C2DAFF03C2
DAFF15C6DCFF5BD7E7FF56C8D6FE058FA0F1008B9C3FFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00018EA0D45ECFDDFF46DAEDFF18D0E7FF11CBE3FF07C4
DCFF03C2DAFF03C2DAFF4CD3E4FF58CDDCFF048E9FF4008B9C1CFFFFFF00FFFF
FF00FFFFFF00008B9C1A1194A5F78BEDFBFF3CE5FCFF37E4FBFF2FDEF6FF23D7
EEFF14CDE5FF04C3DBFF03C2DAFF56D6E6FF33B6C6FB008E9FA8FFFFFF00FFFF
FF00FFFFFF00007F9C5F2FB0C0F58AEFFDFF5FEAFDFF61EBFDFF52E9FDFF3CE6
FDFF2ADBF3FF18D0E7FF10C6DCFF49D2E4FF67D4E2FF018D9FE9FFFFFF00FFFF
FF00008B9C070024A1D71342ADFC84EAFBFF6BECFDFF84EFFDFF6DECFDFF52E9
FDFF44E5FBFF65E3F3FF77DDEBFF49C1CFFE1B9EAEF3008C9DEAFFFFFF00008B
9C5F008D9EEB29A5BBF6284ABBFF1D38B8FF61D8F6FF63EAFDFF6CEBFDFF7DEE
FDFF88EAF8FF45BECDFA058F9FF7008E9FA3008B9C40008B9C02FFFFFF00008B
9C5A018D9EF64FC8D8FF68DCECFF336DC8FF0D1BABFF62B1D7FF72DCEAFF43BD
CCF70990A2F6018E9F9F008B9C1BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF000064878100889CFE41BDCDFF77DEEBFF1769B0F70036A0E4018FA0D2008C
9D77008B9C15FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000487802004A
7B95014E80F40B76B2FF0188A1FF32AEBEFE1DA0B1F2008B9C3DFFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000049796F0352
86F40F7ABCFF107DC1FF015284F200859ACE008B9CFF008B9C29FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00004A7BED0C72
B2FF107DC1FF0A6BA9FF004A7BDA00698A02008B9C82008B9C13FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00004A7BE50A69
A6FF0B6DABFF004A7BF500487844FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000048783B004B
7CDA004A7BE300487847FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
ImageIndex = 4
OnClick = MICleanupClick
end
@ -932,5 +971,31 @@ object SQLStringsPropertyEditorDlg: TSQLStringsPropertyEditorDlg
Caption = 'Create string constant'
OnClick = MICreateConstantClick
end
object MIMeta: TMenuItem
Caption = 'Metadata'
object MIMetaColumns: TMenuItem
Caption = 'Columns'
OnClick = MIMetaColumnsClick
end
end
end
object SQLMeta: TSQLQuery
FieldDefs = <>
Params = <>
left = 220
top = 208
end
object SQLDataSource1: TDatasource
DataSet = SQLMeta
left = 256
top = 208
end
object PMMeta: TPopupMenu
left = 296
top = 208
object MIPaste: TMenuItem
Caption = 'Paste in SQL'
OnClick = MIPasteClick
end
end
end

View File

@ -11,7 +11,7 @@ interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
SynEdit, ButtonPanel, SynHighlighterSQL, ComCtrls, SQLDb, db, DBGrids, Menus,
SrcEditorIntf,clipbrd;
SrcEditorIntf,clipbrd, StdCtrls;
type
@ -19,44 +19,62 @@ type
TSQLStringsPropertyEditorDlg = class(TForm)
ButtonsPanel: TButtonPanel;
CbxMetaData: TComboBox;
MIPaste: TMenuItem;
MetaDBGrid: TDBGrid;
EdtObject: TEdit;
ImageList: TImageList;
Label1: TLabel;
MIMeta: TMenuItem;
MIMetaColumns: TMenuItem;
MICheck: TMenuItem;
MICreateConstant: TMenuItem;
MICleanup: TMenuItem;
PMSQL: TPopupMenu;
PMMeta: TPopupMenu;
ResultDBGrid: TDBGrid;
SQLDataSource: TDatasource;
OpenDialog: TOpenDialog;
PageControl: TPageControl;
SaveDialog: TSaveDialog;
SQLDataSource1: TDatasource;
SQLEditor: TSynEdit;
SQLHighlighter: TSynSQLSyn;
EditorTabSheet: TTabSheet;
ResultTabSheet: TTabSheet;
SQLQuery: TSQLQuery;
MetaTabSheet: TTabSheet;
SQLMeta: TSQLQuery;
ToolBar: TToolBar;
OpenToolButton: TToolButton;
SaveToolButton: TToolButton;
DividerToolButton: TToolButton;
ExecuteToolButton: TToolButton;
TBCheck: TToolButton;
procedure MetaDBGridDblClick(Sender: TObject);
procedure ExecuteToolButtonClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure MICleanupClick(Sender: TObject);
procedure MICreateConstantClick(Sender: TObject);
procedure MIMetaColumnsClick(Sender: TObject);
procedure MIPasteClick(Sender: TObject);
procedure OpenToolButtonClick(Sender: TObject);
procedure SaveToolButtonClick(Sender: TObject);
procedure SQLEditorMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure TBCheckClick(Sender: TObject);
private
{ private declarations }
FMetaFromSynedit: Boolean;
FConnection:TSQLConnection;
FISSQLScript: Boolean;
FTransaction:TSQLTransaction;
FWordUnderCursor:string;
function CheckConnection:boolean;
procedure CheckSQLSyntax({%H-}SQL: TStrings);
procedure CleanupDelphiCode;
procedure CreateConstant;
procedure ShowMetaData;
public
{ public declarations }
constructor Create(AOwner:TComponent);override;
@ -79,6 +97,11 @@ uses
resourcestring
SResultTabCaption = 'Results';
SSQLTabCaption = 'SQL Code';
SMetaTabCaption = 'Metadata';
SMetaTables = 'Tables';
SMetaColumns = 'Columns';
SMetaProcedures = 'Procedures';
SMetaSysTables = 'SysTables';
{$IFDEF HASSQLPARSER}
SSQLOK = 'SQL OK';
SQLSyntaxOK = 'No syntax errors in SQL statement.';
@ -96,6 +119,11 @@ begin
SourceEditorManagerIntf.GetHighlighterSettings(SQLHighlighter);
EditorTabSheet.Caption := SSQLTabCaption;
ResultTabSheet.Caption := SResultTabCaption;
MetaTabSheet.Caption := SMetaTabCaption;
CbxMetaData.Items.Add(SMetaTables);
CbxMetaData.Items.Add(SMetaSysTables);
CbxMetaData.Items.Add(SMetaColumns);
CbxMetaData.Items.Add(SMetaProcedures);
end;
//----------------------------------------------------------//
@ -115,15 +143,30 @@ end;
//---------------------------------------------------------------------------//
procedure TSQLStringsPropertyEditorDlg.ExecuteToolButtonClick(Sender: TObject);
begin
try
SQLQuery.Close;
SQLQuery.SQL.Text := SQLEditor.Text;
SQLQuery.Open;
PageControl.ActivePage := ResultTabSheet;
except
on e:Exception do
MessageDlg(e.Message, mtError, [mbOK], 0);
end;
FMetaFromSynedit:=Sender.ClassNameIs('TMenuItem');
if PageControl.ActivePage=MetaTabSheet then
ShowMetaData
else
try
SQLQuery.Close;
SQLQuery.SQL.Text := SQLEditor.Text;
SQLQuery.Open;
PageControl.ActivePage := ResultTabSheet;
except
on e:Exception do
MessageDlg(e.Message, mtError, [mbOK], 0);
end;
end;
procedure TSQLStringsPropertyEditorDlg.MetaDBGridDblClick(Sender: TObject);
begin
if assigned(MetaDBGrid.SelectedField) and (MetaDBGrid.SelectedField.Value <> NULL) then
if FMetaFromSynedit then
begin
MIPasteClick(Sender);
end
else
EdtObject.Text:=MetaDBGrid.SelectedField.AsString;
end;
//-------------------------------------------------------------//
@ -154,17 +197,22 @@ begin
begin
SQLQuery.DataBase := FConnection;
SQLQuery.Transaction := FTransaction;
SQLMeta.DataBase := FConnection;
SQLMeta.Transaction := FTransaction;
ResultTabSheet.TabVisible := True;
MetaTabSheet.TabVisible := True;
ExecuteToolButton.Visible := True;
FConnection.GetTableNames(SQLHighLighter.TableNames);
end
else
begin
ResultTabSheet.TabVisible := False;
MetaTabSheet.TabVisible := False;
ExecuteToolButton.Visible := False;
end;
SQLHighlighter.SQLDIalect:=D;
SQLHighlighter.Enabled:=True;
CbxMetaData.ItemIndex:=0;
{$ifdef unix}
// keep this only because of gtk1
{$ifdef LCLGtk}
@ -217,6 +265,28 @@ begin
CreateConstant;
end;
procedure TSQLStringsPropertyEditorDlg.MIMetaColumnsClick(Sender: TObject);
begin
if FWordUnderCursor<>'' then
begin
CbxMetaData.ItemIndex:=2; //stColumns
EdtObject.Text:=FWordUnderCursor;
PageControl.ActivePage:=MetaTabSheet;
ExecuteToolButtonClick(Sender);
end;
end;
procedure TSQLStringsPropertyEditorDlg.MIPasteClick(Sender: TObject);
begin
if assigned(MetaDBGrid.SelectedField) and (MetaDBGrid.SelectedField.Value <> NULL) then
begin
SQLEditor.InsertTextAtCaret(' '+TSQLConnection(SQLMeta.DataBase).FieldNameQuoteChars[0]+
trim(MetaDBGrid.SelectedField.AsString)+TSQLConnection(SQLMeta.DataBase).FieldNameQuoteChars[1]);
PageControl.ActivePage:=EditorTabSheet;
end;
end;
procedure TSQLStringsPropertyEditorDlg.CreateConstant;
Var
@ -236,6 +306,36 @@ begin
Clipboard.AsText:=C;
end;
procedure TSQLStringsPropertyEditorDlg.ShowMetaData;
var
SchemaType:TSchemaType;
begin
case CbxMetaData.ItemIndex of
0:SchemaType:=stTables;
2:begin
SchemaType:=stColumns;
if EdtObject.Text='' then
begin
ShowMessage('Please specify a table in the object field.');
exit;
end;
end;
3:SchemaType:=stProcedures;
1:SchemaType:=stSysTables;
else
SchemaType:=stNoSchema;
end;
if SchemaType<>stNoSchema then
try
SQLMeta.Close;
SQLMeta.SetSchemaInfo(SchemaType,EdtObject.Text,'');
SQLMeta.Open;
except
on e:Exception do
MessageDlg(e.Message, mtError, [mbOK], 0);
end;
end;
//------------------------------------------------------------------------//
procedure TSQLStringsPropertyEditorDlg.SaveToolButtonClick(Sender: TObject);
begin
@ -243,6 +343,22 @@ begin
SQLEditor.Lines.SaveToFile(UTF8ToSys(SaveDialog.FileName));
end;
procedure TSQLStringsPropertyEditorDlg.SQLEditorMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
MPos,Caret:tpoint;
begin
If Button=mbRight then // save word under cursor
begin
FWordUnderCursor:='';
MPos.x:=x;
MPos.y:=y;
Caret:=SQLEditor.PhysicalToLogicalPos(SQLEditor.PixelsToLogicalPos(MPos));
FWordUnderCursor:=SQLEditor.GetWordAtRowCol(Caret);
end;
end;
procedure TSQLStringsPropertyEditorDlg.TBCheckClick(Sender: TObject);
begin
CheckSQLSyntax(SQLEditor.Lines)