Commit 9fd2619c authored by Jucelino Fonseca's avatar Jucelino Fonseca

Teste e ajustes de synedit

parent 14689dec
......@@ -12211,6 +12211,8 @@ object ExplorerV2: TExplorerV2
LineHighlightColor.Background = clNone
LineHighlightColor.Foreground = clNone
OnChange = SynEditOQLChange
OnCommandProcessed = SynEditOQLCommandProcessed
OnProcessCommand = SynEditOQLProcessCommand
inline SynLeftGutterPartList1: TSynGutterPartList
object SynGutterMarks1: TSynGutterMarks
Width = 30
......@@ -13968,7 +13970,7 @@ object ExplorerV2: TExplorerV2
Left = 1400
Top = 10
end
object SynCompletion1: TSynCompletion
object scpAtributoCompletion: TSynCompletion
Position = 0
LinesInWindow = 6
SelectedColor = clHighlight
......@@ -13978,9 +13980,10 @@ object ExplorerV2: TExplorerV2
ShortCut = 16416
EndOfTokenChr = '()[].'
ExecCommandID = ecSynCompletionExecute
Editor = SynEditOQL
ToggleReplaceWhole = False
Left = 1300
Top = 10
Left = 744
Top = 208
end
object ilModel: TImageList
Left = 140
......@@ -14277,4 +14280,21 @@ object ExplorerV2: TExplorerV2
0000000000000000000000000000
}
end
object scpClasseCompletion: TSynCompletion
OnExecute = scpClasseCompletionExecute
Position = 0
LinesInWindow = 6
SelectedColor = clHighlight
CaseSensitive = False
Width = 262
AutoUseSingleIdent = True
ShortCut = 16416
EndOfTokenChr = '()[].'
OnCodeCompletion = scpClasseCompletionCodeCompletion
ExecCommandID = ecSynCompletionExecute
Editor = SynEditOQL
ToggleReplaceWhole = False
Left = 648
Top = 320
end
end
......@@ -7,7 +7,7 @@ uses
Clipbrd, Dialogs, ExtCtrls, StdCtrls, ComCtrls, ActnList,
LCLType, acuSQLDialectManager, ImgList, acuframework, utuMessage,
IntegracaoDelphiSUML, acuObjectExplorer, Menus, Buttons, SynEdit,
SynHighlighterSQL, SynCompletion, acuModel, acuRepositorySQL;
SynHighlighterSQL, SynCompletion, acuModel, acuRepositorySQL, SynEditKeyCmds, Types;
type
......@@ -41,7 +41,8 @@ type
sbStatusBar: TStatusBar;
spResultXML: TSplitter;
spResultObject: TSplitter;
SynCompletion1: TSynCompletion;
scpAtributoCompletion: TSynCompletion;
scpClasseCompletion: TSynCompletion;
SynEditOQL: TSynEdit;
SynEditSQL: TSynEdit;
SynSQLSyn1: TSynSQLSyn;
......@@ -86,7 +87,15 @@ type
procedure FormShow(Sender: TObject);
procedure actResultsPanelExecute(Sender: TObject);
procedure rbSequencialClick(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 SynEditOQLCommandProcessed(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
procedure SynEditOQLProcessCommand(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
procedure tvModelExplorerGetSelectedIndex(Sender: TObject; Node: TTreeNode);
procedure tvModelExplorerItemExpanding(Sender: TObject; Node: TTreeNode; var AllowExpansion: Boolean);
procedure XMLQueryExecute(Sender: TObject);
......@@ -122,6 +131,8 @@ type
function BuscaParcialClasse(piCLasse: string; piFiltrar: boolean): boolean;
function BuscarParcialChildClass(piClassTicket : acClassTicket; piFiltrar: boolean): boolean;
function FindParcialNodeClass(piClassTicketPai : acClassTicket; piFiltrar: boolean):acClassTicket;
procedure PreencherSynCompletionClasses(piSynCompletion : TSynCompletion);
procedure PreencherSynCompletionAtributos(piSynCompletion : TSynCompletion);
protected
procedure CreateParams(var Params : TCreateParams); override;
function Connect : acPersistenceSession;
......@@ -425,6 +436,19 @@ end;
procedure TExplorerV2.rbSequencialClick(Sender: TObject);
begin
end;
procedure TExplorerV2.scpClasseCompletionCodeCompletion(var Value: string;
SourceValue: string; var SourceStart, SourceEnd: TPoint; KeyChar: TUTF8Char;
Shift: TShiftState);
begin
end;
procedure TExplorerV2.scpClasseCompletionExecute(Sender: TObject);
begin
end;
procedure TExplorerV2.SynEditOQLChange(Sender: TObject);
......@@ -432,6 +456,32 @@ 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;
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);
end;
end;
procedure TExplorerV2.SynEditOQLProcessCommand(Sender: TObject;
var Command: TSynEditorCommand; var AChar: TUTF8Char; Data: pointer);
begin
end;
procedure TExplorerV2.tvModelExplorerGetSelectedIndex(Sender: TObject; Node: TTreeNode);
......@@ -616,6 +666,52 @@ begin
end;
procedure TExplorerV2.PreencherSynCompletionClasses(piSynCompletion : TSynCompletion);
var lEnumerator : acEnumerator;
lClassTicket : acClassTicket;
begin
lEnumerator := self.MetaModel.ClassTickets.GetEnumerator;
try
piSynCompletion.ItemList.Clear;
while not lEnumerator.EOL do
begin
lClassTicket := acClassTicket(lEnumerator.Current);
piSynCompletion.ItemList.Add(lClassTicket.PersistentObjectClassName);
lEnumerator.MoveNext;
end;
finally
lEnumerator.Free;
end;
end;
procedure TExplorerV2.PreencherSynCompletionAtributos(piSynCompletion: TSynCompletion);
var li : integer;
lAttributeTicket : acAttributeTicket;
lClassTicket : acClassTicket;
ls_NameClass : string;
begin
ls_NameClass := trim(SynEditOQL.GetWordAtRowCol(SynEditOQL.PrevWordPos));
if ls_NameClass <> '' then
begin
lClassTicket := self.MetaModel.GetClassTicketByName(ls_NameClass);
if Assigned(lClassTicket) then
begin
piSynCompletion.ItemList.Clear;
for li := 0 to pred(lClassTicket.Attributes.Count) do
begin
lAttributeTicket := acAttributeTicket(lClassTicket.Attributes.Objects[li]);
if lAttributeTicket.Stereotype = acAttributeStereotype.pvPersistent then
begin
piSynCompletion.ItemList.Add(lAttributeTicket.AttributeName);
end;
end;
end;
end;
end;
procedure TExplorerV2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
......@@ -640,6 +736,9 @@ begin
fUtil.AlimentarMetamodel(lMetaModelGenOpt, nil);
FMetaModelPersistenceMap := fUtil.MetaModelPersistenceMap;
MetaModel := fUtil.MetaModel;
PreencherSynCompletionClasses(scpClasseCompletion);
scpAtributoCompletion.Editor := nil;
end;
procedure TExplorerV2.FormDestroy(Sender: TObject);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment