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
Left = 5
23
Left = 5
65
Height = 871
Top =
120
Top =
77
Width = 1387
Caption = 'Model OQL Query'
ClientHeight = 871
...
...
@@ -11751,8 +11751,11 @@ object ExplorerV2: TExplorerV2
ParentColor = False
ParentFont = False
TabOrder = 0
OnQuadClick = SynEditOQLQuadClick
OnDragDrop = memOQLQuery2DragDrop
OnDragOver = memOQLQuery2DragOver
OnKeyPress = SynEditOQLKeyPress
OnClickLink = SynEditOQLClickLink
BorderStyle = bsNone
Gutter.Width = 42
Gutter.MouseActions = <>
...
...
@@ -12212,7 +12215,7 @@ object ExplorerV2: TExplorerV2
LineHighlightColor.Foreground = clNone
OnChange = SynEditOQLChange
OnCommandProcessed = SynEditOQLCommandProcessed
OnProcess
Command = SynEditOQLProcess
Command
OnProcess
UserCommand = SynEditOQLProcessUser
Command
inline SynLeftGutterPartList1: TSynGutterPartList
object SynGutterMarks1: TSynGutterMarks
Width = 30
...
...
@@ -13971,6 +13974,7 @@ object ExplorerV2: TExplorerV2
Top = 10
end
object scpAtributoCompletion: TSynCompletion
OnExecute = scpAtributoCompletionExecute
Position = 0
LinesInWindow = 6
SelectedColor = clHighlight
...
...
@@ -14281,7 +14285,7 @@ object ExplorerV2: TExplorerV2
}
end
object scpClasseCompletion: TSynCompletion
OnExecute = scp
Classe
CompletionExecute
OnExecute = scp
Atributo
CompletionExecute
Position = 0
LinesInWindow = 6
SelectedColor = clHighlight
...
...
EvoUMLPlugin/src/ituExplorerV2.pas
View file @
412edb52
...
...
@@ -87,15 +87,21 @@ type
procedure
FormShow
(
Sender
:
TObject
);
procedure
actResultsPanelExecute
(
Sender
:
TObject
);
procedure
rbSequencialClick
(
Sender
:
TObject
);
procedure
scpAtributoCompletionExecute
(
Sender
:
TObject
);
procedure
scpClasseCompletionCodeCompletion
(
var
Value
:
string
;
SourceValue
:
string
;
var
SourceStart
,
SourceEnd
:
TPoint
;
KeyChar
:
TUTF8Char
;
Shift
:
TShiftState
);
procedure
scpClasseCompletionExecute
(
Sender
:
TObject
);
procedure
SynEditOQLChange
(
Sender
:
TObject
);
procedure
SynEditOQLClickLink
(
Sender
:
TObject
;
Button
:
TMouseButton
;
Shift
:
TShiftState
;
X
,
Y
:
Integer
);
procedure
SynEditOQLCommandProcessed
(
Sender
:
TObject
;
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
);
procedure
SynEditOQLQuadClick
(
Sender
:
TObject
);
procedure
SynEditOQLUTF8KeyPress
(
Sender
:
TObject
;
var
UTF8Key
:
TUTF8Char
);
procedure
tvModelExplorerGetSelectedIndex
(
Sender
:
TObject
;
Node
:
TTreeNode
);
procedure
tvModelExplorerItemExpanding
(
Sender
:
TObject
;
Node
:
TTreeNode
;
var
AllowExpansion
:
Boolean
);
procedure
XMLQueryExecute
(
Sender
:
TObject
);
...
...
@@ -132,7 +138,8 @@ type
function
BuscarParcialChildClass
(
piClassTicket
:
acClassTicket
;
piFiltrar
:
boolean
):
boolean
;
function
FindParcialNodeClass
(
piClassTicketPai
:
acClassTicket
;
piFiltrar
:
boolean
):
acClassTicket
;
procedure
PreencherSynCompletionClasses
(
piSynCompletion
:
TSynCompletion
);
procedure
PreencherSynCompletionAtributos
(
piSynCompletion
:
TSynCompletion
);
procedure
PreencherSynCompletionAtributos
(
piSynCompletion
:
TSynCompletion
;
piClassTicket
:
acClassTicket
=
nil
);
procedure
ExecutarSybCompletion
(
piSynCompletion
:
TSynCompletion
);
protected
procedure
CreateParams
(
var
Params
:
TCreateParams
);
override
;
function
Connect
:
acPersistenceSession
;
...
...
@@ -436,6 +443,13 @@ end;
procedure
TExplorerV2
.
rbSequencialClick
(
Sender
:
TObject
);
begin
end
;
procedure
TExplorerV2
.
scpAtributoCompletionExecute
(
Sender
:
TObject
);
begin
end
;
procedure
TExplorerV2
.
scpClasseCompletionCodeCompletion
(
var
Value
:
string
;
...
...
@@ -456,28 +470,91 @@ begin
end
;
procedure
TExplorerV2
.
SynEditOQLClickLink
(
Sender
:
TObject
;
Button
:
TMouseButton
;
Shift
:
TShiftState
;
X
,
Y
:
Integer
);
begin
end
;
procedure
TExplorerV2
.
SynEditOQLCommandProcessed
(
Sender
:
TObject
;
var
Command
:
TSynEditorCommand
;
var
AChar
:
TUTF8Char
;
Data
:
pointer
);
var
apoint
,
temppoint
:
tpoint
;
begin
if
Achar
=
'.'
then
begin
PreencherSynCompletionAtributos
(
scpAtributoCompletion
);
scpClasseCompletion
.
Editor
:=
nil
;
scpClasseCompletion
.
Editor
:=
nil
;
scpAtributoCompletion
.
Editor
:=
SynEditOQL
;
//will compare the schema_tablename to a list of available schema names for the current database.
temppoint
:=
TSynEdit
(
Sender
).
CaretXY
;
temppoint
.
y
:=
temppoint
.
y
+
1
;
apoint
:=
TSynEdit
(
Sender
).
ClientToScreen
(
TSynEdit
(
Sender
).
RowColumnToPixels
(
temppoint
));
scpAtributoCompletion
.
Execute
(
''
,
apoint
);
ExecutarSybCompletion
(
scpAtributoCompletion
);
end
;
end
;
end
;
procedure
TExplorerV2
.
SynEditOQLKeyPress
(
Sender
:
TObject
;
var
Key
:
char
);
begin
end
;
procedure
TExplorerV2
.
SynEditOQLProcessCommand
(
Sender
:
TObject
;
procedure
TExplorerV2
.
SynEditOQLProcess
User
Command
(
Sender
:
TObject
;
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
end
;
...
...
@@ -685,26 +762,33 @@ begin
end
;
procedure
TExplorerV2
.
PreencherSynCompletionAtributos
(
piSynCompletion
:
TSynCompletion
);
procedure
TExplorerV2
.
PreencherSynCompletionAtributos
(
piSynCompletion
:
TSynCompletion
;
piClassTicket
:
acClassTicket
=
nil
);
var
li
:
integer
;
lAttributeTicket
:
acAttributeTicket
;
lClassTicket
:
acClassTicket
;
ls_NameClass
:
string
;
begin
ls_NameClass
:=
trim
(
SynEditOQL
.
GetWordAtRowCol
(
SynEditOQL
.
PrevWordPos
));
if
ls_NameClass
<>
''
then
if
not
Assigned
(
piClassTicket
)
then
begin
lClassTicket
:=
self
.
MetaModel
.
GetClassTicketByName
(
ls_NameClass
);
if
Assigned
(
lClassTicket
)
then
ls_NameClass
:=
trim
(
SynEditOQL
.
GetWordAtRowCol
(
SynEditOQL
.
PrevWordPos
));
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
piSynCompletion
.
ItemList
.
Clear
;
for
li
:=
0
to
pred
(
lClassTicket
.
Attributes
.
Count
)
do
lAttributeTicket
:=
acAttributeTicket
(
lClassTicket
.
Attributes
.
Objects
[
li
])
;
if
lAttributeTicket
.
Stereotype
=
acAttributeStereotype
.
pvPersistent
then
begin
lAttributeTicket
:=
acAttributeTicket
(
lClassTicket
.
Attributes
.
Objects
[
li
]);
if
lAttributeTicket
.
Stereotype
=
acAttributeStereotype
.
pvPersistent
then
begin
piSynCompletion
.
ItemList
.
Add
(
lAttributeTicket
.
AttributeName
);
end
;
piSynCompletion
.
ItemList
.
Add
(
lAttributeTicket
.
AttributeName
);
end
;
end
;
end
;
...
...
@@ -712,6 +796,16 @@ begin
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
);
begin
inherited
CreateParams
(
Params
);
...
...
@@ -728,7 +822,6 @@ end;
procedure
TExplorerV2
.
FormCreate
(
Sender
:
TObject
);
var
lMetaModelGenOpt
:
TMetaModelGenerationOptions
;
begin
lMetaModelGenOpt
.
CheckDBAttributeNameLength
:=
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