BSOne.SFC/EM.Lib/ImageEn_SRC/Source/Delphi10.1Berlin/ieopensavedlg.hpp

339 lines
15 KiB
C++

// CodeGear C++Builder
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
// All rights reserved
// (DO NOT EDIT: machine generated header) 'ieopensavedlg.pas' rev: 37.00 (Windows)
#ifndef ieopensavedlgHPP
#define ieopensavedlgHPP
#pragma delphiheader begin
#pragma option push
#if defined(__BORLANDC__) && !defined(__clang__)
#pragma option -w- // All warnings off
#pragma option -Vx // Zero-length empty class member
#endif
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <Winapi.Windows.hpp>
#include <Winapi.Messages.hpp>
#include <System.SysUtils.hpp>
#include <Winapi.CommDlg.hpp>
#include <System.Classes.hpp>
#include <Vcl.Graphics.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.ComCtrls.hpp>
#include <Vcl.Clipbrd.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Buttons.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <Vcl.Dialogs.hpp>
#include <hyieutils.hpp>
#include <hyiedefs.hpp>
#include <imageenio.hpp>
#include <imageenview.hpp>
#include <iexBitmaps.hpp>
#include <iemview.hpp>
#include <iemio.hpp>
#include <ievect.hpp>
#include <System.UITypes.hpp>
//-- user supplied -----------------------------------------------------------
namespace Ieopensavedlg
{
//-- forward type declarations -----------------------------------------------
struct TIEOpenFileNameEx;
class DELPHICLASS TIECommonDialog;
class DELPHICLASS TOpenImageEnDialog;
class DELPHICLASS TSaveImageEnDialog;
//-- type declarations -------------------------------------------------------
struct DECLSPEC_DRECORD TIEOpenFileNameEx
{
public:
unsigned lStructSize;
HWND hWndOwner;
Winapi::Windows::HINST hInstance;
void *lpstrFilter;
void *lpstrCustomFilter;
unsigned nMaxCustFilter;
unsigned nFilterIndex;
void *lpstrFile;
unsigned nMaxFile;
void *lpstrFileTitle;
unsigned nMaxFileTitle;
void *lpstrInitialDir;
void *lpstrTitle;
unsigned Flags;
System::Word nFileOffset;
System::Word nFileExtension;
void *lpstrDefExt;
__int64 lCustData;
unsigned __stdcall (*lpfnHook)(HWND Wnd, unsigned Msg, unsigned __int64 wParam, __int64 lParam);
void *lpTemplateName;
void *pvReserved;
unsigned dwReserved;
unsigned FlagsEx;
};
typedef TIEOpenFileNameEx *PIEOpenFileNameEx;
typedef void __fastcall (__closure *TIEFileDlgPreviewEvent)(System::TObject* Sender, System::TObject* Viewer, System::UnicodeString FileName, bool ParamsOnly);
enum DECLSPEC_DENUM TIEDBorderStyle : unsigned char { iepsDefault, iepsCropped, iepsCropShadow, iepsSoftShadow };
enum DECLSPEC_DENUM TIECommonDialogView : unsigned char { iedvDefault, iedvSmallIcons, iedvMediumIcons, iedvLargeIcons, iedvExtraLargeIcons, iedvTiles, iedvList, iedvDetails };
enum DECLSPEC_DENUM TIEPreviewSize : unsigned char { iespDefault, iespTall, iespLarge };
enum DECLSPEC_DENUM TIEShowFormats : unsigned char { iesfImagesAndVideos, iesfImagesOnly, iesfVideosOnly, iesfAllOnly };
class PASCALIMPLEMENTATION TIECommonDialog : public System::Classes::TComponent
{
typedef System::Classes::TComponent inherited;
private:
bool fCtl3D;
void *fDefWndProc;
System::Classes::THelpContext fHelpContext;
HWND fHandle;
void *fObjectInstance;
System::WideChar *fTemplate;
System::Classes::TNotifyEvent fOnClose;
System::Classes::TNotifyEvent fOnShow;
bool fShowPlacesBar;
TIECommonDialogView fFileView;
Vcl::Extctrls::TTimer* fWatchTimer;
MESSAGE void __fastcall WMDestroy(Winapi::Messages::TWMDestroy &Message);
MESSAGE void __fastcall WMInitDialog(Winapi::Messages::TWMInitDialog &Message);
MESSAGE void __fastcall WMNCDestroy(Winapi::Messages::TWMNCDestroy &Message);
void __fastcall MainWndProc(Winapi::Messages::TMessage &Message);
protected:
bool fExtendedDialog;
DYNAMIC void __fastcall DoClose();
DYNAMIC void __fastcall DoShow();
virtual void __fastcall WndProc(Winapi::Messages::TMessage &Message);
virtual bool __fastcall MessageHook(Winapi::Messages::TMessage &Msg);
virtual System::LongBool __fastcall TaskModalDialog(void * DialogFunc, void *DialogData);
virtual bool __fastcall Execute() = 0 ;
__property System::WideChar * Template = {read=fTemplate, write=fTemplate};
System::WideString __fastcall ExtractFilter(void * ss, int idx);
public:
__fastcall virtual TIECommonDialog(System::Classes::TComponent* AOwner);
__fastcall virtual ~TIECommonDialog();
virtual void __fastcall DefaultHandler(void *Message);
__property HWND Handle = {read=fHandle};
__published:
__property bool Ctl3D = {read=fCtl3D, write=fCtl3D, nodefault};
__property System::Classes::THelpContext HelpContext = {read=fHelpContext, write=fHelpContext, default=0};
__property System::Classes::TNotifyEvent OnClose = {read=fOnClose, write=fOnClose};
__property System::Classes::TNotifyEvent OnShow = {read=fOnShow, write=fOnShow};
__property bool ShowPlacesBar = {read=fShowPlacesBar, write=fShowPlacesBar, default=1};
__property TIECommonDialogView FileView = {read=fFileView, write=fFileView, default=0};
__property bool ExtendedDialog = {read=fExtendedDialog, write=fExtendedDialog, default=1};
};
class PASCALIMPLEMENTATION TOpenImageEnDialog : public TIECommonDialog
{
typedef TIECommonDialog inherited;
private:
bool m_blnInSelectionChange;
Ievect::TImageEnVect* fImageEnView;
Iemview::TImageEnMView* fImageEnMView;
Vcl::Extctrls::TPanel* fPicturePanel;
Vcl::Stdctrls::TLabel* fPicLabel1;
Vcl::Stdctrls::TLabel* fPicLabel2;
Vcl::Stdctrls::TLabel* fPicLabel3;
Vcl::Extctrls::TPanel* fInfoPanel;
Vcl::Stdctrls::TLabel* fInfoLabel1;
Vcl::Stdctrls::TLabel* fInfoLabel2;
Vcl::Buttons::TSpeedButton* fPreviewButton;
Vcl::Stdctrls::TComboBox* fZoomComboBox;
Vcl::Comctrls::TProgressBar* fProgressBar;
Vcl::Buttons::TSpeedButton* fPlayButton;
Vcl::Stdctrls::TButton* fAdvancedButton;
Vcl::Stdctrls::TCheckBox* fPreviewCheck;
int fFileSize;
int fFrames;
System::WideString fSelType;
bool fAutoSetFilter;
Hyieutils::TIOFileType fAutoSetFilterFileType;
bool fAlwaysAnimate;
bool fAutoAdjustDPI;
bool fFilteredAdjustDPI;
bool fGetExifThumbnail;
System::Classes::TStrings* fHistoryList;
System::Uitypes::TOpenOptions fOptions;
System::UnicodeString fFilter;
int fFilterIndex;
Hyieutils::TIOFileType fFilterDefault;
int fCurrentFilterIndex;
System::UnicodeString fInitialDir;
System::UnicodeString fTitle;
System::UnicodeString fDefaultExt;
System::WideString fFileNameW;
System::Classes::TStrings* fFiles;
Hyieutils::TIEWideStrings* fFilesW;
Vcl::Dialogs::TFileEditStyle fFileEditStyle;
System::Classes::TNotifyEvent fOnSelectionChange;
System::Classes::TNotifyEvent fOnFolderChange;
System::Classes::TNotifyEvent fOnTypeChange;
Vcl::Forms::TCloseQueryEvent fOnCanClose;
TIEDBorderStyle fPreviewBorderStyle;
TIEShowFormats fShowFormats;
System::UnicodeString fExtendedFilters;
bool fShowAllFrames;
int fSelectedFrame;
void *OpenFileNameExShadow;
System::Classes::TNotifyEvent fOnCreateCustomControls;
System::Classes::TNotifyEvent fOnDestroyCustomControls;
TIEFileDlgPreviewEvent fOnPreviewFile;
bool fPreviewIsFullSize;
TIEPreviewSize fPreviewSize;
System::Sysutils::TFileName __fastcall GetFileName();
System::WideString __fastcall GetFileNameW();
System::WideString __fastcall GetLongFileName();
System::WideString __fastcall GetFileName2();
int __fastcall GetFilterIndex();
void __fastcall ReadFileEditStyle(System::Classes::TReader* Reader);
void __fastcall SetHistoryList(System::Classes::TStrings* Value);
void __fastcall SetInitialDir(const System::UnicodeString Value);
void __fastcall PreviewClick(System::TObject* Sender);
void __fastcall PreviewKeyPress(System::TObject* Sender, System::WideChar &Key);
void __fastcall ZoomComboChange(System::TObject* Sender);
void __fastcall ImageEnIOProgress(System::TObject* Sender, int per);
void __fastcall ShowIOParams(Iexbitmaps::TIOParams* params);
void __fastcall DoCheckPreview(System::TObject* Sender);
void __fastcall SetPreviewBorderStyle(TIEDBorderStyle v);
void __fastcall SetZoomFilter(Hyiedefs::TResampleFilter v);
Hyiedefs::TResampleFilter __fastcall GetZoomFilter();
int __fastcall FileExtToFilterIndex(System::UnicodeString e, bool bExcludeCommon = false);
int __fastcall FileTypeToFilterIndex(Hyieutils::TIOFileType FileType);
void __fastcall SetAlwaysAnimate(bool value);
void __fastcall SetFileName(System::Sysutils::TFileName value);
void __fastcall SetPreviewSize(const TIEPreviewSize v);
void __fastcall UpdateBackground();
protected:
bool fShowPreview;
void __fastcall PlayClick(System::TObject* Sender);
bool __fastcall CanClose(TIEOpenFileNameEx &OpenFileName);
DYNAMIC bool __fastcall DoCanClose();
System::LongBool __fastcall DoExecute(void * Func);
DYNAMIC void __fastcall DoSelectionChange();
DYNAMIC void __fastcall DoFolderChange();
DYNAMIC void __fastcall DoTypeChange();
virtual void __fastcall DefineProperties(System::Classes::TFiler* Filer);
void __fastcall GetFileNames(TIEOpenFileNameEx &OpenFileName);
virtual Winapi::Windows::TRect __fastcall GetStaticRect();
virtual void __fastcall WndProc(Winapi::Messages::TMessage &Message);
virtual void __fastcall SetZoom();
DYNAMIC void __fastcall DoClose();
DYNAMIC void __fastcall DoShow();
void __fastcall SetLang();
void __fastcall OnMViewSelect(System::TObject* Sender, int idx);
void __fastcall DoAllDisplayed(System::TObject* Sender);
bool __fastcall LoadPreview(bool LoadImage, bool FullSize);
bool __fastcall NeedLoadPreviewFullSize();
int __fastcall SelectedZoom();
public:
__fastcall virtual TOpenImageEnDialog(System::Classes::TComponent* AOwner);
__fastcall virtual ~TOpenImageEnDialog();
System::UnicodeString __fastcall BuildFilterStr(Hyieutils::TIOFileType LimitToType = 0xffffffff, bool bMultiFrameSaveOnly = false);
virtual bool __fastcall Execute();
__property Vcl::Dialogs::TFileEditStyle FileEditStyle = {read=fFileEditStyle, write=fFileEditStyle, nodefault};
__property System::Classes::TStrings* Files = {read=fFiles};
__property Hyieutils::TIEWideStrings* FilesW = {read=fFilesW};
__property System::Classes::TStrings* HistoryList = {read=fHistoryList, write=SetHistoryList};
__property Vcl::Extctrls::TPanel* PicturePanel = {read=fPicturePanel};
__property Vcl::Extctrls::TPanel* InfoPanel = {read=fInfoPanel};
__property Vcl::Stdctrls::TCheckBox* PreviewCheckBox = {read=fPreviewCheck};
__property System::UnicodeString ExtendedFilters = {read=fExtendedFilters, write=fExtendedFilters};
__property int SelectedFrame = {read=fSelectedFrame, write=fSelectedFrame, nodefault};
__property System::WideString FileNameW = {read=GetFileNameW, write=fFileNameW};
__published:
__property System::UnicodeString DefaultExt = {read=fDefaultExt, write=fDefaultExt};
__property System::Sysutils::TFileName FileName = {read=GetFileName, write=SetFileName};
__property System::UnicodeString Filter = {read=fFilter, write=fFilter};
__property int FilterIndex = {read=GetFilterIndex, write=fFilterIndex, default=1};
__property Hyieutils::TIOFileType FilterDefault = {read=fFilterDefault, write=fFilterDefault, default=-1};
__property System::UnicodeString InitialDir = {read=fInitialDir, write=SetInitialDir};
__property System::Uitypes::TOpenOptions Options = {read=fOptions, write=fOptions, default=4};
__property System::UnicodeString Title = {read=fTitle, write=fTitle};
__property Vcl::Forms::TCloseQueryEvent OnCanClose = {read=fOnCanClose, write=fOnCanClose};
__property System::Classes::TNotifyEvent OnFolderChange = {read=fOnFolderChange, write=fOnFolderChange};
__property System::Classes::TNotifyEvent OnSelectionChange = {read=fOnSelectionChange, write=fOnSelectionChange};
__property System::Classes::TNotifyEvent OnTypeChange = {read=fOnTypeChange, write=fOnTypeChange};
__property bool AutoSetFilter = {read=fAutoSetFilter, write=fAutoSetFilter, default=1};
__property Hyieutils::TIOFileType AutoSetFilterFileType = {read=fAutoSetFilterFileType, write=fAutoSetFilterFileType, default=-1};
__property bool AlwaysAnimate = {read=fAlwaysAnimate, write=SetAlwaysAnimate, default=0};
__property TIEDBorderStyle PreviewBorderStyle = {read=fPreviewBorderStyle, write=SetPreviewBorderStyle, default=0};
__property bool AutoAdjustDPI = {read=fAutoAdjustDPI, write=fAutoAdjustDPI, default=0};
__property bool GetExifThumbnail = {read=fGetExifThumbnail, write=fGetExifThumbnail, default=0};
__property bool FilteredAdjustDPI = {read=fFilteredAdjustDPI, write=fFilteredAdjustDPI, default=0};
__property Hyiedefs::TResampleFilter ZoomFilter = {read=GetZoomFilter, write=SetZoomFilter, default=9};
__property bool ShowAllFrames = {read=fShowAllFrames, write=fShowAllFrames, default=1};
__property TIEShowFormats ShowFormats = {read=fShowFormats, write=fShowFormats, default=0};
__property TIEPreviewSize PreviewSize = {read=fPreviewSize, write=SetPreviewSize, default=0};
__property System::Classes::TNotifyEvent OnCreateCustomControls = {read=fOnCreateCustomControls, write=fOnCreateCustomControls};
__property System::Classes::TNotifyEvent OnDestroyCustomControls = {read=fOnDestroyCustomControls, write=fOnDestroyCustomControls};
__property TIEFileDlgPreviewEvent OnPreviewFile = {read=fOnPreviewFile, write=fOnPreviewFile};
};
enum DECLSPEC_DENUM Ieopensavedlg__3 : unsigned char { sdShowPreview, sdShowAdvanced };
typedef System::Set<Ieopensavedlg__3, Ieopensavedlg__3::sdShowPreview, Ieopensavedlg__3::sdShowAdvanced> TIESaveDlgOpt;
class PASCALIMPLEMENTATION TSaveImageEnDialog : public TOpenImageEnDialog
{
typedef TOpenImageEnDialog inherited;
private:
TIESaveDlgOpt fExOptions;
System::Classes::TComponent* fAttachedImageEnIO;
void __fastcall OnWatchTimer(System::TObject* Sender);
void __fastcall DoAdvanced(System::TObject* Sender);
void __fastcall SetAttachedImageEnIO(System::Classes::TComponent* v);
protected:
DYNAMIC void __fastcall DoTypeChange();
virtual void __fastcall SetFileNameExt();
virtual void __fastcall Notification(System::Classes::TComponent* AComponent, System::Classes::TOperation Operation);
void __fastcall GetAdvancedType(Hyieutils::TPreviewParams &pp, Hyieutils::TIOFileType &ft);
void __fastcall EnableDisableAdvanced();
public:
__fastcall virtual TSaveImageEnDialog(System::Classes::TComponent* AOwner);
__fastcall virtual ~TSaveImageEnDialog();
virtual bool __fastcall Execute();
__published:
__property TIESaveDlgOpt ExOptions = {read=fExOptions, write=fExOptions, nodefault};
__property System::Classes::TComponent* AttachedImageEnIO = {read=fAttachedImageEnIO, write=SetAttachedImageEnIO};
};
//-- var, const, procedure ---------------------------------------------------
static _DELPHI_CONST System::Int8 DWL_MSGRESULT = System::Int8(0x0);
} /* namespace Ieopensavedlg */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEOPENSAVEDLG)
using namespace Ieopensavedlg;
#endif
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // ieopensavedlgHPP