123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- //---------------------------------------------------------------------------
- #ifndef AuthenticateH
- #define AuthenticateH
- //---------------------------------------------------------------------------
- #include <Classes.hpp>
- #include <Controls.hpp>
- #include <StdCtrls.hpp>
- #include <Forms.hpp>
- #include <ComCtrls.hpp>
- #include <ExtCtrls.hpp>
- #include "PasswordEdit.hpp"
- #include "WinInterface.h"
- #include "GUITools.h"
- #include <System.Actions.hpp>
- #include <Vcl.ActnList.hpp>
- #include <Vcl.Menus.hpp>
- #include <Vcl.StdActns.hpp>
- //---------------------------------------------------------------------------
- class TAuthenticateForm : public TForm
- {
- __published:
- TListBox *LogView;
- TPanel *PasswordPanel;
- TPanel *PromptEditPanel;
- TLabel *PromptLabel1;
- TPasswordEdit *PromptEdit1;
- TPanel *BannerPanel;
- TMemo *BannerMemo;
- TCheckBox *NeverShowAgainCheck;
- TButton *BannerCloseButton;
- TButton *BannerHelpButton;
- TPanel *SavePasswordPanel;
- TCheckBox *SavePasswordCheck;
- TPanel *ButtonsPanel;
- TButton *PasswordOKButton;
- TButton *PasswordCancelButton;
- TButton *PasswordHelpButton;
- TLabel *InstructionsLabel;
- TLabel *PromptLabel2;
- TPasswordEdit *PromptEdit2;
- TPanel *SessionRememberPasswordPanel;
- TCheckBox *SessionRememberPasswordCheck;
- TPanel *TopPanel;
- TPanel *LeftPanel;
- TPaintBox *AnimationPaintBox;
- TActionList *ActionList;
- TEditCopy *EditCopyAction;
- TEditSelectAll *EditSelectAllAction;
- TAction *BannerMonospacedFontAction;
- TPopupMenu *BannerPopupMenu;
- TMenuItem *CopyItem;
- TMenuItem *SelectAllItem;
- TMenuItem *N1;
- TMenuItem *AdjustWindowItem;
- TPopupMenu *LabelPopupMenu;
- TMenuItem *N2;
- TAction *LabelCopyAction;
- TAction *LabelOpenLinkAction2;
- TMenuItem *Open1;
- TMenuItem *Copy1;
- void __fastcall FormShow(TObject *Sender);
- void __fastcall HelpButtonClick(TObject *Sender);
- void __fastcall LogViewMeasureItem(TWinControl *Control, int Index, int &Height);
- void __fastcall LogViewDrawItem(TWinControl *Control, int Index, TRect &Rect, TOwnerDrawState State);
- void __fastcall FormResize(TObject *Sender);
- void __fastcall BannerMemoContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled);
- void __fastcall BannerMonospacedFontActionExecute(TObject *Sender);
- void __fastcall LogViewMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
- void __fastcall LabelCopyActionExecute(TObject *Sender);
- void __fastcall LabelOpenLinkAction2Execute(TObject *Sender);
- public:
- __fastcall TAuthenticateForm(TComponent * Owner);
- virtual __fastcall ~TAuthenticateForm();
- void __fastcall Init(TTerminal * Terminal);
- void __fastcall ShowAsModal();
- void __fastcall Log(const UnicodeString & Message, const UnicodeString & Additional = UnicodeString());
- bool __fastcall PromptUser(TPromptKind Kind, UnicodeString Name, UnicodeString Instructions,
- TStrings * Prompts, TStrings * Results, bool ForceLog, bool StoredCredentialsTried);
- void __fastcall Banner(const UnicodeString & Banner, bool & NeverShowAgain,
- int Options, unsigned int & Params);
- __property TTerminal * Terminal = { read = FTerminal };
- __property TNotifyEvent OnCancel = { read = FOnCancel, write = FOnCancel };
- protected:
- void __fastcall AdjustControls();
- bool __fastcall Execute(UnicodeString Status, TPanel * Panel,
- TWinControl * FocusControl, TButton * DefaultButton, TButton * CancelButton,
- bool FixHeight, bool Zoom, bool ForceLog);
- virtual void __fastcall CreateParams(TCreateParams & Params);
- virtual void __fastcall Dispatch(void * AMessage);
- void __fastcall WMNCCreate(TWMNCCreate & Message);
- TLabel * __fastcall GenerateLabel(int Current, UnicodeString Caption);
- TCustomEdit * __fastcall GenerateEdit(int Current, bool Echo);
- TList * __fastcall GeneratePrompt(TPromptKind Kind, const UnicodeString & Instructions, TStrings * Prompts);
- void __fastcall DoCancel();
- void __fastcall AdjustLogView();
- void __fastcall MakeLogItemVisible(int Index);
- int __fastcall LogItemHeight(int Index);
- void __fastcall RedrawLog();
- void __fastcall CMShowingChanged(TMessage & Message);
- HIDESBASE DYNAMIC void __fastcall ChangeScale(int M, int D, bool isDpiChange);
- void __fastcall UpdateBannerFont();
- void __fastcall DoAdjustWindow();
- void __fastcall LabelContextPopup(TObject* Sender, const TPoint & MousePos, bool & Handled);
- bool ExtractUrl(const UnicodeString & Text, UnicodeString & Url);
- void ExternalLabel(TLabel * Label);
- void __fastcall LinkClick(TObject * Sender);
- void LabelOpen(TLabel * Label);
- private:
- void * FShowAsModalStorage;
- TWinControl * FFocusControl;
- TSessionData * FSessionData;
- TTerminal * FTerminal;
- UnicodeString FStatus;
- TWinControl * FPromptParent;
- int FPromptLeft;
- int FPromptTop;
- int FPromptRight;
- int FPromptEditGap;
- int FPromptsGap;
- TNotifyEvent FOnCancel;
- TFrameAnimation FFrameAnimation;
- bool FAnimationPainted;
- int FHorizontalLogPadding;
- int FVerticalLogPadding;
- TTextFormat FLogTextFormat;
- bool FShowNoActivate;
- std::vector<UnicodeString> FHints;
- int FHintIndex;
- TLabel * FContextLabel;
- INTERFACE_HOOK;
- };
- //---------------------------------------------------------------------------
- #endif
|