Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
StarUML Evológica Plugin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
evologica
StarUML Evológica Plugin
Commits
412edb52
Commit
412edb52
authored
Sep 25, 2020
by
Jucelino Fonseca
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Ajustes
parent
9fd2619c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
125 additions
and
28 deletions
+125
-28
ituExplorerV2.dfm
EvoUMLPlugin/src/ituExplorerV2.dfm
+8
-4
ituExplorerV2.pas
EvoUMLPlugin/src/ituExplorerV2.pas
+117
-24
No files found.
EvoUMLPlugin/src/ituExplorerV2.dfm
View file @
412edb52
object ExplorerV2: TExplorerV2
object ExplorerV2: TExplorerV2
Left = 5
23
Left = 5
65
Height = 871
Height = 871
Top =
120
Top =
77
Width = 1387
Width = 1387
Caption = 'Model OQL Query'
Caption = 'Model OQL Query'
ClientHeight = 871
ClientHeight = 871
...
@@ -11751,8 +11751,11 @@ object ExplorerV2: TExplorerV2
...
@@ -11751,8 +11751,11 @@ object ExplorerV2: TExplorerV2
ParentColor = False
ParentColor = False
ParentFont = False
ParentFont = False
TabOrder = 0
TabOrder = 0
OnQuadClick = SynEditOQLQuadClick
OnDragDrop = memOQLQuery2DragDrop
OnDragDrop = memOQLQuery2DragDrop
OnDragOver = memOQLQuery2DragOver
OnDragOver = memOQLQuery2DragOver
OnKeyPress = SynEditOQLKeyPress
OnClickLink = SynEditOQLClickLink
BorderStyle = bsNone
BorderStyle = bsNone
Gutter.Width = 42
Gutter.Width = 42
Gutter.MouseActions = <>
Gutter.MouseActions = <>
...
@@ -12212,7 +12215,7 @@ object ExplorerV2: TExplorerV2
...
@@ -12212,7 +12215,7 @@ object ExplorerV2: TExplorerV2
LineHighlightColor.Foreground = clNone
LineHighlightColor.Foreground = clNone
OnChange = SynEditOQLChange
OnChange = SynEditOQLChange
OnCommandProcessed = SynEditOQLCommandProcessed
OnCommandProcessed = SynEditOQLCommandProcessed
OnProcess
Command = SynEditOQLProcess
Command
OnProcess
UserCommand = SynEditOQLProcessUser
Command
inline SynLeftGutterPartList1: TSynGutterPartList
inline SynLeftGutterPartList1: TSynGutterPartList
object SynGutterMarks1: TSynGutterMarks
object SynGutterMarks1: TSynGutterMarks
Width = 30
Width = 30
...
@@ -13971,6 +13974,7 @@ object ExplorerV2: TExplorerV2
...
@@ -13971,6 +13974,7 @@ object ExplorerV2: TExplorerV2
Top = 10
Top = 10
end
end
object scpAtributoCompletion: TSynCompletion
object scpAtributoCompletion: TSynCompletion
OnExecute = scpAtributoCompletionExecute
Position = 0
Position = 0
LinesInWindow = 6
LinesInWindow = 6
SelectedColor = clHighlight
SelectedColor = clHighlight
...
@@ -14281,7 +14285,7 @@ object ExplorerV2: TExplorerV2
...
@@ -14281,7 +14285,7 @@ object ExplorerV2: TExplorerV2
}
}
end
end
object scpClasseCompletion: TSynCompletion
object scpClasseCompletion: TSynCompletion
OnExecute = scp
Classe
CompletionExecute
OnExecute = scp
Atributo
CompletionExecute
Position = 0
Position = 0
LinesInWindow = 6
LinesInWindow = 6
SelectedColor = clHighlight
SelectedColor = clHighlight
...
...
EvoUMLPlugin/src/ituExplorerV2.pas
View file @
412edb52
...
@@ -87,15 +87,21 @@ type
...
@@ -87,15 +87,21 @@ type
procedure
FormShow
(
Sender
:
TObject
);
procedure
FormShow
(
Sender
:
TObject
);
procedure
actResultsPanelExecute
(
Sender
:
TObject
);
procedure
actResultsPanelExecute
(
Sender
:
TObject
);
procedure
rbSequencialClick
(
Sender
:
TObject
);
procedure
rbSequencialClick
(
Sender
:
TObject
);
procedure
scpAtributoCompletionExecute
(
Sender
:
TObject
);
procedure
scpClasseCompletionCodeCompletion
(
var
Value
:
string
;
procedure
scpClasseCompletionCodeCompletion
(
var
Value
:
string
;
SourceValue
:
string
;
var
SourceStart
,
SourceEnd
:
TPoint
;
SourceValue
:
string
;
var
SourceStart
,
SourceEnd
:
TPoint
;
KeyChar
:
TUTF8Char
;
Shift
:
TShiftState
);
KeyChar
:
TUTF8Char
;
Shift
:
TShiftState
);
procedure
scpClasseCompletionExecute
(
Sender
:
TObject
);
procedure
scpClasseCompletionExecute
(
Sender
:
TObject
);
procedure
SynEditOQLChange
(
Sender
:
TObject
);
procedure
SynEditOQLChange
(
Sender
:
TObject
);
procedure
SynEditOQLClickLink
(
Sender
:
TObject
;
Button
:
TMouseButton
;
Shift
:
TShiftState
;
X
,
Y
:
Integer
);
procedure
SynEditOQLCommandProcessed
(
Sender
:
TObject
;
procedure
SynEditOQLCommandProcessed
(
Sender
:
TObject
;
var
Command
:
TSynEditorCommand
;
var
AChar
:
TUTF8Char
;
Data
:
pointer
);
var
Command
:
TSynEditorCommand
;
var
AChar
:
TUTF8Char
;
Data
:
pointer
);
procedure
SynEditOQLProcessCommand
(
Sender
:
TObject
;
procedure
SynEditOQLKeyPress
(
Sender
:
TObject
;
var
Key
:
char
);
procedure
SynEditOQLProcessUserCommand
(
Sender
:
TObject
;
var
Command
:
TSynEditorCommand
;
var
AChar
:
TUTF8Char
;
Data
:
pointer
);
var
Command
:
TSynEditorCommand
;
var
AChar
:
TUTF8Char
;
Data
:
pointer
);
procedure
SynEditOQLQuadClick
(
Sender
:
TObject
);
procedure
SynEditOQLUTF8KeyPress
(
Sender
:
TObject
;
var
UTF8Key
:
TUTF8Char
);
procedure
tvModelExplorerGetSelectedIndex
(
Sender
:
TObject
;
Node
:
TTreeNode
);
procedure
tvModelExplorerGetSelectedIndex
(
Sender
:
TObject
;
Node
:
TTreeNode
);
procedure
tvModelExplorerItemExpanding
(
Sender
:
TObject
;
Node
:
TTreeNode
;
var
AllowExpansion
:
Boolean
);
procedure
tvModelExplorerItemExpanding
(
Sender
:
TObject
;
Node
:
TTreeNode
;
var
AllowExpansion
:
Boolean
);
procedure
XMLQueryExecute
(
Sender
:
TObject
);
procedure
XMLQueryExecute
(
Sender
:
TObject
);
...
@@ -132,7 +138,8 @@ type
...
@@ -132,7 +138,8 @@ type
function
BuscarParcialChildClass
(
piClassTicket
:
acClassTicket
;
piFiltrar
:
boolean
):
boolean
;
function
BuscarParcialChildClass
(
piClassTicket
:
acClassTicket
;
piFiltrar
:
boolean
):
boolean
;
function
FindParcialNodeClass
(
piClassTicketPai
:
acClassTicket
;
piFiltrar
:
boolean
):
acClassTicket
;
function
FindParcialNodeClass
(
piClassTicketPai
:
acClassTicket
;
piFiltrar
:
boolean
):
acClassTicket
;
procedure
PreencherSynCompletionClasses
(
piSynCompletion
:
TSynCompletion
);
procedure
PreencherSynCompletionClasses
(
piSynCompletion
:
TSynCompletion
);
procedure
PreencherSynCompletionAtributos
(
piSynCompletion
:
TSynCompletion
);
procedure
PreencherSynCompletionAtributos
(
piSynCompletion
:
TSynCompletion
;
piClassTicket
:
acClassTicket
=
nil
);
procedure
ExecutarSybCompletion
(
piSynCompletion
:
TSynCompletion
);
protected
protected
procedure
CreateParams
(
var
Params
:
TCreateParams
);
override
;
procedure
CreateParams
(
var
Params
:
TCreateParams
);
override
;
function
Connect
:
acPersistenceSession
;
function
Connect
:
acPersistenceSession
;
...
@@ -436,6 +443,13 @@ end;
...
@@ -436,6 +443,13 @@ end;
procedure
TExplorerV2
.
rbSequencialClick
(
Sender
:
TObject
);
procedure
TExplorerV2
.
rbSequencialClick
(
Sender
:
TObject
);
begin
begin
end
;
procedure
TExplorerV2
.
scpAtributoCompletionExecute
(
Sender
:
TObject
);
begin
end
;
end
;
procedure
TExplorerV2
.
scpClasseCompletionCodeCompletion
(
var
Value
:
string
;
procedure
TExplorerV2
.
scpClasseCompletionCodeCompletion
(
var
Value
:
string
;
...
@@ -456,28 +470,91 @@ begin
...
@@ -456,28 +470,91 @@ begin
end
;
end
;
procedure
TExplorerV2
.
SynEditOQLClickLink
(
Sender
:
TObject
;
Button
:
TMouseButton
;
Shift
:
TShiftState
;
X
,
Y
:
Integer
);
begin
end
;
procedure
TExplorerV2
.
SynEditOQLCommandProcessed
(
Sender
:
TObject
;
procedure
TExplorerV2
.
SynEditOQLCommandProcessed
(
Sender
:
TObject
;
var
Command
:
TSynEditorCommand
;
var
AChar
:
TUTF8Char
;
Data
:
pointer
);
var
Command
:
TSynEditorCommand
;
var
AChar
:
TUTF8Char
;
Data
:
pointer
);
var
apoint
,
temppoint
:
tpoint
;
begin
begin
if
Achar
=
'.'
then
if
Achar
=
'.'
then
begin
begin
PreencherSynCompletionAtributos
(
scpAtributoCompletion
);
PreencherSynCompletionAtributos
(
scpAtributoCompletion
);
scpClasseCompletion
.
Editor
:=
nil
;
scpClasseCompletion
.
Editor
:=
nil
;
scpAtributoCompletion
.
Editor
:=
SynEditOQL
;
scpAtributoCompletion
.
Editor
:=
SynEditOQL
;
//will compare the schema_tablename to a list of available schema names for the current database.
ExecutarSybCompletion
(
scpAtributoCompletion
);
temppoint
:=
TSynEdit
(
Sender
).
CaretXY
;
end
;
temppoint
.
y
:=
temppoint
.
y
+
1
;
apoint
:=
TSynEdit
(
Sender
).
ClientToScreen
(
TSynEdit
(
Sender
).
RowColumnToPixels
(
temppoint
));
scpAtributoCompletion
.
Execute
(
''
,
apoint
);
end
;
end
;
procedure
TExplorerV2
.
SynEditOQLKeyPress
(
Sender
:
TObject
;
var
Key
:
char
);
begin
end
;
end
;
procedure
TExplorerV2
.
SynEditOQLProcessCommand
(
Sender
:
TObject
;
procedure
TExplorerV2
.
SynEditOQLProcess
User
Command
(
Sender
:
TObject
;
var
Command
:
TSynEditorCommand
;
var
AChar
:
TUTF8Char
;
Data
:
pointer
);
var
Command
:
TSynEditorCommand
;
var
AChar
:
TUTF8Char
;
Data
:
pointer
);
var
lClassTicket
:
acClassTicket
;
ls_NameClass
:
string
;
lbMostrarClasse
:
boolean
;
ls_Aux
:
string
;
li_Pos
:
integer
;
p1
,
zeroPoint
:
TPoint
;
begin
{ p1 := SynEdit1.NextTokenPos ;//logical = byte position
zeroPoint := SynEdit1.PrevWordPos;
//ShowMessage(SynEdit1.TextBetweenPoints[zeroPoint ,p1]);
if Assigned(p1) then
ShowMessage(SynEdit1.TextBetweenPoints[zeroPoint,p1]); }
lbMostrarClasse
:=
true
;
ls_NameClass
:=
trim
(
SynEditOQL
.
GetWordAtRowCol
(
SynEditOQL
.
PrevWordPos
));
if
ls_NameClass
<>
''
then
begin
lClassTicket
:=
self
.
MetaModel
.
GetClassTicketByName
(
ls_NameClass
);
if
Assigned
(
lClassTicket
)
then
begin
p1
:=
SynEditOQL
.
NextTokenPos
;
//logical = byte position
zeroPoint
:=
SynEditOQL
.
PrevWordPos
;
ls_Aux
:=
SynEditOQL
.
TextBetweenPoints
[
zeroPoint
,
p1
];
li_Pos
:=
Pos
(
'.'
,
ls_Aux
);
if
li_Pos
>
0
then
begin
PreencherSynCompletionAtributos
(
scpAtributoCompletion
,
lClassTicket
);
if
not
Assigned
(
scpAtributoCompletion
.
Editor
)
then
begin
scpAtributoCompletion
.
Editor
:=
SynEditOQL
;
scpClasseCompletion
.
Editor
:=
nil
;
end
;
lbMostrarClasse
:=
false
;
end
;
end
;
end
;
if
lbMostrarClasse
then
begin
if
not
Assigned
(
scpClasseCompletion
.
Editor
)
then
begin
scpAtributoCompletion
.
Editor
:=
nil
;
scpClasseCompletion
.
Editor
:=
SynEditOQL
;
ExecutarSybCompletion
(
scpClasseCompletion
);
end
;
end
;
end
;
procedure
TExplorerV2
.
SynEditOQLQuadClick
(
Sender
:
TObject
);
begin
end
;
procedure
TExplorerV2
.
SynEditOQLUTF8KeyPress
(
Sender
:
TObject
;
var
UTF8Key
:
TUTF8Char
);
begin
begin
end
;
end
;
...
@@ -685,26 +762,33 @@ begin
...
@@ -685,26 +762,33 @@ begin
end
;
end
;
procedure
TExplorerV2
.
PreencherSynCompletionAtributos
(
piSynCompletion
:
TSynCompletion
);
procedure
TExplorerV2
.
PreencherSynCompletionAtributos
(
piSynCompletion
:
TSynCompletion
;
piClassTicket
:
acClassTicket
=
nil
);
var
li
:
integer
;
var
li
:
integer
;
lAttributeTicket
:
acAttributeTicket
;
lAttributeTicket
:
acAttributeTicket
;
lClassTicket
:
acClassTicket
;
lClassTicket
:
acClassTicket
;
ls_NameClass
:
string
;
ls_NameClass
:
string
;
begin
begin
ls_NameClass
:=
trim
(
SynEditOQL
.
GetWordAtRowCol
(
SynEditOQL
.
PrevWordPos
));
if
not
Assigned
(
piClassTicket
)
then
if
ls_NameClass
<>
''
then
begin
begin
lClassTicket
:=
self
.
MetaModel
.
GetClassTicketByName
(
ls_NameClass
);
ls_NameClass
:=
trim
(
SynEditOQL
.
GetWordAtRowCol
(
SynEditOQL
.
PrevWordPos
));
if
Assigned
(
lClassTicket
)
then
if
ls_NameClass
<>
''
then
begin
lClassTicket
:=
self
.
MetaModel
.
GetClassTicketByName
(
ls_NameClass
);
end
;
end
else
begin
lClassTicket
:=
piClassTicket
;;
end
;
if
Assigned
(
lClassTicket
)
then
begin
piSynCompletion
.
ItemList
.
Clear
;
for
li
:=
0
to
pred
(
lClassTicket
.
Attributes
.
Count
)
do
begin
begin
piSynCompletion
.
ItemList
.
Clear
;
lAttributeTicket
:=
acAttributeTicket
(
lClassTicket
.
Attributes
.
Objects
[
li
])
;
for
li
:=
0
to
pred
(
lClassTicket
.
Attributes
.
Count
)
do
if
lAttributeTicket
.
Stereotype
=
acAttributeStereotype
.
pvPersistent
then
begin
begin
lAttributeTicket
:=
acAttributeTicket
(
lClassTicket
.
Attributes
.
Objects
[
li
]);
piSynCompletion
.
ItemList
.
Add
(
lAttributeTicket
.
AttributeName
);
if
lAttributeTicket
.
Stereotype
=
acAttributeStereotype
.
pvPersistent
then
begin
piSynCompletion
.
ItemList
.
Add
(
lAttributeTicket
.
AttributeName
);
end
;
end
;
end
;
end
;
end
;
end
;
end
;
...
@@ -712,6 +796,16 @@ begin
...
@@ -712,6 +796,16 @@ begin
end
;
end
;
procedure
TExplorerV2
.
ExecutarSybCompletion
(
piSynCompletion
:
TSynCompletion
);
var
apoint
,
temppoint
:
tpoint
;
begin
//will compare the schema_tablename to a list of available schema names for the current database.
temppoint
:=
SynEditOQL
.
CaretXY
;
temppoint
.
y
:=
temppoint
.
y
+
1
;
apoint
:=
SynEditOQL
.
ClientToScreen
(
SynEditOQL
.
RowColumnToPixels
(
temppoint
));
piSynCompletion
.
Execute
(
''
,
apoint
);
end
;
procedure
TExplorerV2
.
CreateParams
(
var
Params
:
TCreateParams
);
procedure
TExplorerV2
.
CreateParams
(
var
Params
:
TCreateParams
);
begin
begin
inherited
CreateParams
(
Params
);
inherited
CreateParams
(
Params
);
...
@@ -728,7 +822,6 @@ end;
...
@@ -728,7 +822,6 @@ end;
procedure
TExplorerV2
.
FormCreate
(
Sender
:
TObject
);
procedure
TExplorerV2
.
FormCreate
(
Sender
:
TObject
);
var
lMetaModelGenOpt
:
TMetaModelGenerationOptions
;
var
lMetaModelGenOpt
:
TMetaModelGenerationOptions
;
begin
begin
lMetaModelGenOpt
.
CheckDBAttributeNameLength
:=
true
;
lMetaModelGenOpt
.
CheckDBAttributeNameLength
:=
true
;
lMetaModelGenOpt
.
CheckDBTableNameLength
:=
true
;
lMetaModelGenOpt
.
CheckDBTableNameLength
:=
true
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment