git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/branches/D2007-DA5@36 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
parent
ea8ceb9c8d
commit
a79d956073
665
Source/GUIBase/GUIBase.bdsproj
Normal file
665
Source/GUIBase/GUIBase.bdsproj
Normal file
@ -0,0 +1,665 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<BorlandProject>
|
||||
<PersonalityInfo>
|
||||
<Option>
|
||||
<Option Name="Personality">Delphi.Personality</Option>
|
||||
<Option Name="ProjectType"></Option>
|
||||
<Option Name="Version">1.0</Option>
|
||||
<Option Name="GUID">{0CA27A95-0B81-4724-84BF-8F8ED4E421AE}</Option>
|
||||
</Option>
|
||||
</PersonalityInfo>
|
||||
<Delphi.Personality>
|
||||
<Source>
|
||||
<Source Name="MainSource">GUIBase.dpk</Source>
|
||||
</Source>
|
||||
<FileVersion>
|
||||
<FileVersion Name="Version">7.0</FileVersion>
|
||||
</FileVersion>
|
||||
<Compiler>
|
||||
<Compiler Name="A">8</Compiler>
|
||||
<Compiler Name="B">0</Compiler>
|
||||
<Compiler Name="C">1</Compiler>
|
||||
<Compiler Name="D">1</Compiler>
|
||||
<Compiler Name="E">0</Compiler>
|
||||
<Compiler Name="F">0</Compiler>
|
||||
<Compiler Name="G">1</Compiler>
|
||||
<Compiler Name="H">1</Compiler>
|
||||
<Compiler Name="I">1</Compiler>
|
||||
<Compiler Name="J">0</Compiler>
|
||||
<Compiler Name="K">0</Compiler>
|
||||
<Compiler Name="L">1</Compiler>
|
||||
<Compiler Name="M">0</Compiler>
|
||||
<Compiler Name="N">1</Compiler>
|
||||
<Compiler Name="O">0</Compiler>
|
||||
<Compiler Name="P">1</Compiler>
|
||||
<Compiler Name="Q">0</Compiler>
|
||||
<Compiler Name="R">0</Compiler>
|
||||
<Compiler Name="S">0</Compiler>
|
||||
<Compiler Name="T">0</Compiler>
|
||||
<Compiler Name="U">0</Compiler>
|
||||
<Compiler Name="V">1</Compiler>
|
||||
<Compiler Name="W">1</Compiler>
|
||||
<Compiler Name="X">1</Compiler>
|
||||
<Compiler Name="Y">1</Compiler>
|
||||
<Compiler Name="Z">1</Compiler>
|
||||
<Compiler Name="ShowHints">True</Compiler>
|
||||
<Compiler Name="ShowWarnings">True</Compiler>
|
||||
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
|
||||
<Compiler Name="NamespacePrefix"></Compiler>
|
||||
<Compiler Name="GenerateDocumentation">False</Compiler>
|
||||
<Compiler Name="DefaultNamespace"></Compiler>
|
||||
<Compiler Name="SymbolDeprecated">True</Compiler>
|
||||
<Compiler Name="SymbolLibrary">True</Compiler>
|
||||
<Compiler Name="SymbolPlatform">True</Compiler>
|
||||
<Compiler Name="SymbolExperimental">True</Compiler>
|
||||
<Compiler Name="UnitLibrary">True</Compiler>
|
||||
<Compiler Name="UnitPlatform">True</Compiler>
|
||||
<Compiler Name="UnitDeprecated">True</Compiler>
|
||||
<Compiler Name="UnitExperimental">True</Compiler>
|
||||
<Compiler Name="HResultCompat">True</Compiler>
|
||||
<Compiler Name="HidingMember">True</Compiler>
|
||||
<Compiler Name="HiddenVirtual">True</Compiler>
|
||||
<Compiler Name="Garbage">True</Compiler>
|
||||
<Compiler Name="BoundsError">True</Compiler>
|
||||
<Compiler Name="ZeroNilCompat">True</Compiler>
|
||||
<Compiler Name="StringConstTruncated">True</Compiler>
|
||||
<Compiler Name="ForLoopVarVarPar">True</Compiler>
|
||||
<Compiler Name="TypedConstVarPar">True</Compiler>
|
||||
<Compiler Name="AsgToTypedConst">True</Compiler>
|
||||
<Compiler Name="CaseLabelRange">True</Compiler>
|
||||
<Compiler Name="ForVariable">True</Compiler>
|
||||
<Compiler Name="ConstructingAbstract">True</Compiler>
|
||||
<Compiler Name="ComparisonFalse">True</Compiler>
|
||||
<Compiler Name="ComparisonTrue">True</Compiler>
|
||||
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
|
||||
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
|
||||
<Compiler Name="UnsupportedConstruct">True</Compiler>
|
||||
<Compiler Name="FileOpen">True</Compiler>
|
||||
<Compiler Name="FileOpenUnitSrc">True</Compiler>
|
||||
<Compiler Name="BadGlobalSymbol">True</Compiler>
|
||||
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
|
||||
<Compiler Name="InvalidDirective">True</Compiler>
|
||||
<Compiler Name="PackageNoLink">True</Compiler>
|
||||
<Compiler Name="PackageThreadVar">True</Compiler>
|
||||
<Compiler Name="ImplicitImport">True</Compiler>
|
||||
<Compiler Name="HPPEMITIgnored">True</Compiler>
|
||||
<Compiler Name="NoRetVal">True</Compiler>
|
||||
<Compiler Name="UseBeforeDef">True</Compiler>
|
||||
<Compiler Name="ForLoopVarUndef">True</Compiler>
|
||||
<Compiler Name="UnitNameMismatch">True</Compiler>
|
||||
<Compiler Name="NoCFGFileFound">True</Compiler>
|
||||
<Compiler Name="ImplicitVariants">True</Compiler>
|
||||
<Compiler Name="UnicodeToLocale">True</Compiler>
|
||||
<Compiler Name="LocaleToUnicode">True</Compiler>
|
||||
<Compiler Name="ImagebaseMultiple">True</Compiler>
|
||||
<Compiler Name="SuspiciousTypecast">True</Compiler>
|
||||
<Compiler Name="PrivatePropAccessor">True</Compiler>
|
||||
<Compiler Name="UnsafeType">False</Compiler>
|
||||
<Compiler Name="UnsafeCode">False</Compiler>
|
||||
<Compiler Name="UnsafeCast">False</Compiler>
|
||||
<Compiler Name="OptionTruncated">True</Compiler>
|
||||
<Compiler Name="WideCharReduced">True</Compiler>
|
||||
<Compiler Name="DuplicatesIgnored">True</Compiler>
|
||||
<Compiler Name="UnitInitSeq">True</Compiler>
|
||||
<Compiler Name="LocalPInvoke">True</Compiler>
|
||||
<Compiler Name="MessageDirective">True</Compiler>
|
||||
<Compiler Name="CodePage"></Compiler> <Compiler Name="TypeInfoImplicitlyAdded">True</Compiler>
|
||||
<Compiler Name="XMLWhitespaceNotAllowed">True</Compiler>
|
||||
<Compiler Name="XMLUnknownEntity">True</Compiler>
|
||||
<Compiler Name="XMLInvalidNameStart">True</Compiler>
|
||||
<Compiler Name="XMLInvalidName">True</Compiler>
|
||||
<Compiler Name="XMLExpectedCharacter">True</Compiler>
|
||||
<Compiler Name="XMLCRefNoResolve">True</Compiler>
|
||||
<Compiler Name="XMLNoParm">True</Compiler>
|
||||
<Compiler Name="XMLNoMatchingParm">True</Compiler>
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Linker Name="MapFile">3</Linker>
|
||||
<Linker Name="OutputObjs">0</Linker>
|
||||
<Linker Name="GenerateHpps">False</Linker>
|
||||
<Linker Name="ConsoleApp">1</Linker>
|
||||
<Linker Name="DebugInfo">True</Linker>
|
||||
<Linker Name="RemoteSymbols">False</Linker>
|
||||
<Linker Name="GenerateDRC">False</Linker>
|
||||
<Linker Name="MinStackSize">16384</Linker>
|
||||
<Linker Name="MaxStackSize">1048576</Linker>
|
||||
<Linker Name="ImageBase">4194304</Linker>
|
||||
<Linker Name="ExeDescription"></Linker>
|
||||
</Linker>
|
||||
<Directories>
|
||||
<Directories Name="OutputDir"></Directories>
|
||||
<Directories Name="UnitOutputDir">.\</Directories>
|
||||
<Directories Name="PackageDLLOutputDir">..\..\Output\Debug\Cliente</Directories>
|
||||
<Directories Name="PackageDCPOutputDir">..\Lib</Directories>
|
||||
<Directories Name="SearchPath">..\Lib</Directories>
|
||||
<Directories Name="Packages"></Directories>
|
||||
<Directories Name="Conditionals"></Directories>
|
||||
<Directories Name="DebugSourceDirs"></Directories>
|
||||
<Directories Name="UsePackages">False</Directories>
|
||||
</Directories>
|
||||
<Parameters>
|
||||
<Parameters Name="RunParams"></Parameters>
|
||||
<Parameters Name="HostApplication"></Parameters>
|
||||
<Parameters Name="Launcher"></Parameters>
|
||||
<Parameters Name="UseLauncher">False</Parameters>
|
||||
<Parameters Name="DebugCWD"></Parameters>
|
||||
<Parameters Name="Debug Symbols Search Path"></Parameters>
|
||||
<Parameters Name="LoadAllSymbols">True</Parameters>
|
||||
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
|
||||
</Parameters>
|
||||
<VersionInfo>
|
||||
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
|
||||
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
|
||||
<VersionInfo Name="MajorVer">1</VersionInfo>
|
||||
<VersionInfo Name="MinorVer">0</VersionInfo>
|
||||
<VersionInfo Name="Release">0</VersionInfo>
|
||||
<VersionInfo Name="Build">0</VersionInfo>
|
||||
<VersionInfo Name="Debug">False</VersionInfo>
|
||||
<VersionInfo Name="PreRelease">False</VersionInfo>
|
||||
<VersionInfo Name="Special">False</VersionInfo>
|
||||
<VersionInfo Name="Private">False</VersionInfo>
|
||||
<VersionInfo Name="DLL">False</VersionInfo>
|
||||
<VersionInfo Name="Locale">3082</VersionInfo>
|
||||
<VersionInfo Name="CodePage">1252</VersionInfo>
|
||||
</VersionInfo>
|
||||
<VersionInfoKeys>
|
||||
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
|
||||
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
|
||||
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
|
||||
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
|
||||
</VersionInfoKeys> <Signing>
|
||||
<Signing Name="SignAssembly">False</Signing>
|
||||
</Signing>
|
||||
<buildevents/>
|
||||
</Delphi.Personality>
|
||||
</BorlandProject>
|
||||
|
||||
<!-- EurekaLog First Line
|
||||
[Exception Log]
|
||||
EurekaLog Version=6006
|
||||
Activate=0
|
||||
Activate Handle=1
|
||||
Save Log File=1
|
||||
Foreground Tab=0
|
||||
Freeze Activate=0
|
||||
Freeze Timeout=0
|
||||
SMTP From=eurekalog@email.com
|
||||
SMTP Host=
|
||||
SMTP Port=25
|
||||
SMTP UserID=
|
||||
SMTP Password=
|
||||
Append to Log=0
|
||||
TerminateBtn Operation=2
|
||||
Errors Number=32
|
||||
Errors Terminate=3
|
||||
Email Address=
|
||||
Email Object=
|
||||
Email Send Options=0
|
||||
Output Path=
|
||||
Encrypt Password=
|
||||
AutoCloseDialogSecs=0
|
||||
WebSendMode=0
|
||||
SupportULR=
|
||||
HTMLLayout Count=15
|
||||
HTMLLine0="%3Chtml%3E"
|
||||
HTMLLine1=" %3Chead%3E"
|
||||
HTMLLine2=" %3C/head%3E"
|
||||
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
|
||||
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
|
||||
HTMLLine5=" %3Ctr%3E"
|
||||
HTMLLine6=" %3Ctd nowrap%3E"
|
||||
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
|
||||
HTMLLine8=" %3C%%HTML_TAG%%%3E"
|
||||
HTMLLine9=" %3C/font%3E"
|
||||
HTMLLine10=" %3C/td%3E"
|
||||
HTMLLine11=" %3C/tr%3E"
|
||||
HTMLLine12=" %3C/table%3E"
|
||||
HTMLLine13=" %3C/body%3E"
|
||||
HTMLLine14="%3C/html%3E"
|
||||
AutoCrashOperation=2
|
||||
AutoCrashNumber=10
|
||||
AutoCrashMinutes=1
|
||||
WebURL=
|
||||
WebUserID=
|
||||
WebPassword=
|
||||
WebPort=0
|
||||
AttachedFiles=
|
||||
ProxyURL=
|
||||
ProxyUser=
|
||||
ProxyPassword=
|
||||
ProxyPort=8080
|
||||
TrakerUser=
|
||||
TrakerPassword=
|
||||
TrakerAssignTo=
|
||||
TrakerProject=
|
||||
TrakerCategory=
|
||||
TrakerTrialID=
|
||||
ZipPassword=
|
||||
PreBuildEvent=
|
||||
PostSuccessfulBuildEvent=
|
||||
PostFailureBuildEvent=
|
||||
ExceptionDialogType=2
|
||||
Count=0
|
||||
EMail Message Line Count=0
|
||||
loNoDuplicateErrors=0
|
||||
loAppendReproduceText=0
|
||||
loDeleteLogAtVersionChange=0
|
||||
loAddComputerNameInLogFileName=0
|
||||
loSaveModulesAndProcessesSections=1
|
||||
loSaveAssemblerAndCPUSections=1
|
||||
soAppStartDate=1
|
||||
soAppName=1
|
||||
soAppVersionNumber=1
|
||||
soAppParameters=1
|
||||
soAppCompilationDate=1
|
||||
soAppUpTime=1
|
||||
soExcDate=1
|
||||
soExcAddress=1
|
||||
soExcModuleName=1
|
||||
soExcModuleVersion=1
|
||||
soExcType=1
|
||||
soExcMessage=1
|
||||
soExcID=1
|
||||
soExcCount=1
|
||||
soExcStatus=1
|
||||
soExcNote=1
|
||||
soUserID=1
|
||||
soUserName=1
|
||||
soUserEmail=1
|
||||
soUserPrivileges=1
|
||||
soUserCompany=1
|
||||
soActCtlsFormClass=1
|
||||
soActCtlsFormText=1
|
||||
soActCtlsControlClass=1
|
||||
soActCtlsControlText=1
|
||||
soCmpName=1
|
||||
soCmpTotalMemory=1
|
||||
soCmpFreeMemory=1
|
||||
soCmpTotalDisk=1
|
||||
soCmpFreeDisk=1
|
||||
soCmpSysUpTime=1
|
||||
soCmpProcessor=1
|
||||
soCmpDisplayMode=1
|
||||
soCmpDisplayDPI=1
|
||||
soCmpVideoCard=1
|
||||
soCmpPrinter=1
|
||||
soOSType=1
|
||||
soOSBuildN=1
|
||||
soOSUpdate=1
|
||||
soOSLanguage=1
|
||||
soOSCharset=1
|
||||
soNetIP=1
|
||||
soNetSubmask=1
|
||||
soNetGateway=1
|
||||
soNetDNS1=1
|
||||
soNetDNS2=1
|
||||
soNetDHCP=1
|
||||
soCustomData=1
|
||||
sndShowSendDialog=1
|
||||
sndShowSuccessFailureMsg=0
|
||||
sndSendEntireLog=0
|
||||
sndSendXMLLogCopy=0
|
||||
sndSendScreenshot=1
|
||||
sndUseOnlyActiveWindow=0
|
||||
sndSendLastHTMLPage=1
|
||||
sndSendInSeparatedThread=0
|
||||
sndAddDateInFileName=0
|
||||
sndAddComputerNameInFileName=0
|
||||
edoSendErrorReportChecked=1
|
||||
edoAttachScreenshotChecked=1
|
||||
edoShowCopyToClipOption=1
|
||||
edoShowDetailsButton=1
|
||||
edoShowInDetailedMode=0
|
||||
edoShowInTopMostMode=0
|
||||
edoUseEurekaLogLookAndFeel=0
|
||||
edoShowSendErrorReportOption=1
|
||||
edoShowAttachScreenshotOption=1
|
||||
edoShowCustomButton=0
|
||||
csoShowDLLs=1
|
||||
csoShowBPLs=1
|
||||
csoShowBorlandThreads=1
|
||||
csoShowWindowsThreads=1
|
||||
csoDoNotStoreProcNames=0
|
||||
boPauseBorlandThreads=0
|
||||
boDoNotPauseMainThread=0
|
||||
boPauseWindowsThreads=0
|
||||
boUseMainModuleOptions=1
|
||||
boCopyLogInCaseOfError=1
|
||||
boSaveCompressedCopyInCaseOfError=0
|
||||
boHandleSafeCallExceptions=1
|
||||
boCallRTLExceptionEvent=0
|
||||
boCatchHandledExceptions=0
|
||||
loCatchLeaks=0
|
||||
loGroupsSonLeaks=1
|
||||
loHideBorlandLeaks=1
|
||||
loFreeAllLeaks=1
|
||||
loCatchLeaksExceptions=1
|
||||
cfoReduceFileSize=1
|
||||
cfoCheckFileCorruption=0
|
||||
Count mtInformationMsgCaption=1
|
||||
mtInformationMsgCaption0="Information."
|
||||
Count mtQuestionMsgCaption=1
|
||||
mtQuestionMsgCaption0="Question."
|
||||
Count mtErrorMsgCaption=1
|
||||
mtErrorMsgCaption0="Error."
|
||||
Count mtDialog_Caption=1
|
||||
mtDialog_Caption0="Error occurred"
|
||||
Count mtDialog_ErrorMsgCaption=2
|
||||
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
|
||||
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
|
||||
Count mtDialog_GeneralCaption=1
|
||||
mtDialog_GeneralCaption0="General"
|
||||
Count mtDialog_GeneralHeader=1
|
||||
mtDialog_GeneralHeader0="General Information"
|
||||
Count mtDialog_CallStackCaption=1
|
||||
mtDialog_CallStackCaption0="Call Stack"
|
||||
Count mtDialog_CallStackHeader=1
|
||||
mtDialog_CallStackHeader0="Call Stack Information"
|
||||
Count mtDialog_ModulesCaption=1
|
||||
mtDialog_ModulesCaption0="Modules"
|
||||
Count mtDialog_ModulesHeader=1
|
||||
mtDialog_ModulesHeader0="Modules Information"
|
||||
Count mtDialog_ProcessesCaption=1
|
||||
mtDialog_ProcessesCaption0="Processes"
|
||||
Count mtDialog_ProcessesHeader=1
|
||||
mtDialog_ProcessesHeader0="Processes Information"
|
||||
Count mtDialog_AsmCaption=1
|
||||
mtDialog_AsmCaption0="Assembler"
|
||||
Count mtDialog_AsmHeader=1
|
||||
mtDialog_AsmHeader0="Assembler Information"
|
||||
Count mtDialog_CPUCaption=1
|
||||
mtDialog_CPUCaption0="CPU"
|
||||
Count mtDialog_CPUHeader=1
|
||||
mtDialog_CPUHeader0="CPU Information"
|
||||
Count mtDialog_OKButtonCaption=1
|
||||
mtDialog_OKButtonCaption0="%26OK"
|
||||
Count mtDialog_TerminateButtonCaption=1
|
||||
mtDialog_TerminateButtonCaption0="%26Terminate"
|
||||
Count mtDialog_RestartButtonCaption=1
|
||||
mtDialog_RestartButtonCaption0="%26Restart"
|
||||
Count mtDialog_DetailsButtonCaption=1
|
||||
mtDialog_DetailsButtonCaption0="%26Details"
|
||||
Count mtDialog_CustomButtonCaption=1
|
||||
mtDialog_CustomButtonCaption0="%26Help"
|
||||
Count mtDialog_SendMessage=1
|
||||
mtDialog_SendMessage0="%26Send this error via Internet"
|
||||
Count mtDialog_ScreenshotMessage=1
|
||||
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
|
||||
Count mtDialog_CopyMessage=1
|
||||
mtDialog_CopyMessage0="%26Copy to Clipboard"
|
||||
Count mtDialog_SupportMessage=1
|
||||
mtDialog_SupportMessage0="Go to the Support Page"
|
||||
Count mtMSDialog_ErrorMsgCaption=1
|
||||
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
|
||||
Count mtMSDialog_RestartCaption=1
|
||||
mtMSDialog_RestartCaption0="Restart application."
|
||||
Count mtMSDialog_TerminateCaption=1
|
||||
mtMSDialog_TerminateCaption0="Terminate application."
|
||||
Count mtMSDialog_PleaseCaption=1
|
||||
mtMSDialog_PleaseCaption0="Please tell us about this problem."
|
||||
Count mtMSDialog_DescriptionCaption=1
|
||||
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
|
||||
Count mtMSDialog_SeeDetailsCaption=1
|
||||
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
|
||||
Count mtMSDialog_SeeClickCaption=1
|
||||
mtMSDialog_SeeClickCaption0="click here."
|
||||
Count mtMSDialog_HowToReproduceCaption=1
|
||||
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
|
||||
Count mtMSDialog_EmailCaption=1
|
||||
mtMSDialog_EmailCaption0="Email address (optional):"
|
||||
Count mtMSDialog_SendButtonCaption=1
|
||||
mtMSDialog_SendButtonCaption0="%26Send Error Report"
|
||||
Count mtMSDialog_NoSendButtonCaption=1
|
||||
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
|
||||
Count mtLog_AppHeader=1
|
||||
mtLog_AppHeader0="Application"
|
||||
Count mtLog_AppStartDate=1
|
||||
mtLog_AppStartDate0="Start Date"
|
||||
Count mtLog_AppName=1
|
||||
mtLog_AppName0="Name/Description"
|
||||
Count mtLog_AppVersionNumber=1
|
||||
mtLog_AppVersionNumber0="Version Number"
|
||||
Count mtLog_AppParameters=1
|
||||
mtLog_AppParameters0="Parameters"
|
||||
Count mtLog_AppCompilationDate=1
|
||||
mtLog_AppCompilationDate0="Compilation Date"
|
||||
Count mtLog_AppUpTime=1
|
||||
mtLog_AppUpTime0="Up Time"
|
||||
Count mtLog_ExcHeader=1
|
||||
mtLog_ExcHeader0="Exception"
|
||||
Count mtLog_ExcDate=1
|
||||
mtLog_ExcDate0="Date"
|
||||
Count mtLog_ExcAddress=1
|
||||
mtLog_ExcAddress0="Address"
|
||||
Count mtLog_ExcModuleName=1
|
||||
mtLog_ExcModuleName0="Module Name"
|
||||
Count mtLog_ExcModuleVersion=1
|
||||
mtLog_ExcModuleVersion0="Module Version"
|
||||
Count mtLog_ExcType=1
|
||||
mtLog_ExcType0="Type"
|
||||
Count mtLog_ExcMessage=1
|
||||
mtLog_ExcMessage0="Message"
|
||||
Count mtLog_ExcID=1
|
||||
mtLog_ExcID0="ID"
|
||||
Count mtLog_ExcCount=1
|
||||
mtLog_ExcCount0="Count"
|
||||
Count mtLog_ExcStatus=1
|
||||
mtLog_ExcStatus0="Status"
|
||||
Count mtLog_ExcNote=1
|
||||
mtLog_ExcNote0="Note"
|
||||
Count mtLog_UserHeader=1
|
||||
mtLog_UserHeader0="User"
|
||||
Count mtLog_UserID=1
|
||||
mtLog_UserID0="ID"
|
||||
Count mtLog_UserName=1
|
||||
mtLog_UserName0="Name"
|
||||
Count mtLog_UserEmail=1
|
||||
mtLog_UserEmail0="Email"
|
||||
Count mtLog_UserCompany=1
|
||||
mtLog_UserCompany0="Company"
|
||||
Count mtLog_UserPrivileges=1
|
||||
mtLog_UserPrivileges0="Privileges"
|
||||
Count mtLog_ActCtrlsHeader=1
|
||||
mtLog_ActCtrlsHeader0="Active Controls"
|
||||
Count mtLog_ActCtrlsFormClass=1
|
||||
mtLog_ActCtrlsFormClass0="Form Class"
|
||||
Count mtLog_ActCtrlsFormText=1
|
||||
mtLog_ActCtrlsFormText0="Form Text"
|
||||
Count mtLog_ActCtrlsControlClass=1
|
||||
mtLog_ActCtrlsControlClass0="Control Class"
|
||||
Count mtLog_ActCtrlsControlText=1
|
||||
mtLog_ActCtrlsControlText0="Control Text"
|
||||
Count mtLog_CmpHeader=1
|
||||
mtLog_CmpHeader0="Computer"
|
||||
Count mtLog_CmpName=1
|
||||
mtLog_CmpName0="Name"
|
||||
Count mtLog_CmpTotalMemory=1
|
||||
mtLog_CmpTotalMemory0="Total Memory"
|
||||
Count mtLog_CmpFreeMemory=1
|
||||
mtLog_CmpFreeMemory0="Free Memory"
|
||||
Count mtLog_CmpTotalDisk=1
|
||||
mtLog_CmpTotalDisk0="Total Disk"
|
||||
Count mtLog_CmpFreeDisk=1
|
||||
mtLog_CmpFreeDisk0="Free Disk"
|
||||
Count mtLog_CmpSystemUpTime=1
|
||||
mtLog_CmpSystemUpTime0="System Up Time"
|
||||
Count mtLog_CmpProcessor=1
|
||||
mtLog_CmpProcessor0="Processor"
|
||||
Count mtLog_CmpDisplayMode=1
|
||||
mtLog_CmpDisplayMode0="Display Mode"
|
||||
Count mtLog_CmpDisplayDPI=1
|
||||
mtLog_CmpDisplayDPI0="Display DPI"
|
||||
Count mtLog_CmpVideoCard=1
|
||||
mtLog_CmpVideoCard0="Video Card"
|
||||
Count mtLog_CmpPrinter=1
|
||||
mtLog_CmpPrinter0="Printer"
|
||||
Count mtLog_OSHeader=1
|
||||
mtLog_OSHeader0="Operating System"
|
||||
Count mtLog_OSType=1
|
||||
mtLog_OSType0="Type"
|
||||
Count mtLog_OSBuildN=1
|
||||
mtLog_OSBuildN0="Build #"
|
||||
Count mtLog_OSUpdate=1
|
||||
mtLog_OSUpdate0="Update"
|
||||
Count mtLog_OSLanguage=1
|
||||
mtLog_OSLanguage0="Language"
|
||||
Count mtLog_OSCharset=1
|
||||
mtLog_OSCharset0="Charset"
|
||||
Count mtLog_NetHeader=1
|
||||
mtLog_NetHeader0="Network"
|
||||
Count mtLog_NetIP=1
|
||||
mtLog_NetIP0="IP Address"
|
||||
Count mtLog_NetSubmask=1
|
||||
mtLog_NetSubmask0="Submask"
|
||||
Count mtLog_NetGateway=1
|
||||
mtLog_NetGateway0="Gateway"
|
||||
Count mtLog_NetDNS1=1
|
||||
mtLog_NetDNS10="DNS 1"
|
||||
Count mtLog_NetDNS2=1
|
||||
mtLog_NetDNS20="DNS 2"
|
||||
Count mtLog_NetDHCP=1
|
||||
mtLog_NetDHCP0="DHCP"
|
||||
Count mtLog_CustInfoHeader=1
|
||||
mtLog_CustInfoHeader0="Custom Information"
|
||||
Count mtCallStack_Address=1
|
||||
mtCallStack_Address0="Address"
|
||||
Count mtCallStack_Name=1
|
||||
mtCallStack_Name0="Module"
|
||||
Count mtCallStack_Unit=1
|
||||
mtCallStack_Unit0="Unit"
|
||||
Count mtCallStack_Class=1
|
||||
mtCallStack_Class0="Class"
|
||||
Count mtCallStack_Procedure=1
|
||||
mtCallStack_Procedure0="Procedure/Method"
|
||||
Count mtCallStack_Line=1
|
||||
mtCallStack_Line0="Line"
|
||||
Count mtCallStack_MainThread=1
|
||||
mtCallStack_MainThread0="Main"
|
||||
Count mtCallStack_ExceptionThread=1
|
||||
mtCallStack_ExceptionThread0="Exception Thread"
|
||||
Count mtCallStack_RunningThread=1
|
||||
mtCallStack_RunningThread0="Running Thread"
|
||||
Count mtCallStack_CallingThread=1
|
||||
mtCallStack_CallingThread0="Calling Thread"
|
||||
Count mtCallStack_ThreadID=1
|
||||
mtCallStack_ThreadID0="ID"
|
||||
Count mtCallStack_ThreadPriority=1
|
||||
mtCallStack_ThreadPriority0="Priority"
|
||||
Count mtCallStack_ThreadClass=1
|
||||
mtCallStack_ThreadClass0="Class"
|
||||
Count mtCallStack_LeakCaption=1
|
||||
mtCallStack_LeakCaption0="Memory Leak"
|
||||
Count mtCallStack_LeakData=1
|
||||
mtCallStack_LeakData0="Data"
|
||||
Count mtCallStack_LeakType=1
|
||||
mtCallStack_LeakType0="Type"
|
||||
Count mtCallStack_LeakSize=1
|
||||
mtCallStack_LeakSize0="Total size"
|
||||
Count mtCallStack_LeakCount=1
|
||||
mtCallStack_LeakCount0="Count"
|
||||
Count mtSendDialog_Caption=1
|
||||
mtSendDialog_Caption0="Send."
|
||||
Count mtSendDialog_Message=1
|
||||
mtSendDialog_Message0="Message"
|
||||
Count mtSendDialog_Resolving=1
|
||||
mtSendDialog_Resolving0="Resolving DNS..."
|
||||
Count mtSendDialog_Login=1
|
||||
mtSendDialog_Login0="Login..."
|
||||
Count mtSendDialog_Connecting=1
|
||||
mtSendDialog_Connecting0="Connecting with server..."
|
||||
Count mtSendDialog_Connected=1
|
||||
mtSendDialog_Connected0="Connected with server."
|
||||
Count mtSendDialog_Sending=1
|
||||
mtSendDialog_Sending0="Sending message..."
|
||||
Count mtSendDialog_Sent=1
|
||||
mtSendDialog_Sent0="Message sent."
|
||||
Count mtSendDialog_SelectProject=1
|
||||
mtSendDialog_SelectProject0="Select project..."
|
||||
Count mtSendDialog_Searching=1
|
||||
mtSendDialog_Searching0="Searching..."
|
||||
Count mtSendDialog_Modifying=1
|
||||
mtSendDialog_Modifying0="Modifying..."
|
||||
Count mtSendDialog_Disconnecting=1
|
||||
mtSendDialog_Disconnecting0="Disconnecting..."
|
||||
Count mtSendDialog_Disconnected=1
|
||||
mtSendDialog_Disconnected0="Disconnected."
|
||||
Count mtReproduceDialog_Caption=1
|
||||
mtReproduceDialog_Caption0="Request"
|
||||
Count mtReproduceDialog_Request=1
|
||||
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
|
||||
Count mtReproduceDialog_OKButtonCaption=1
|
||||
mtReproduceDialog_OKButtonCaption0="%26OK"
|
||||
Count mtModules_Handle=1
|
||||
mtModules_Handle0="Handle"
|
||||
Count mtModules_Name=1
|
||||
mtModules_Name0="Name"
|
||||
Count mtModules_Description=1
|
||||
mtModules_Description0="Description"
|
||||
Count mtModules_Version=1
|
||||
mtModules_Version0="Version"
|
||||
Count mtModules_Size=1
|
||||
mtModules_Size0="Size"
|
||||
Count mtModules_LastModified=1
|
||||
mtModules_LastModified0="Modified"
|
||||
Count mtModules_Path=1
|
||||
mtModules_Path0="Path"
|
||||
Count mtProcesses_ID=1
|
||||
mtProcesses_ID0="ID"
|
||||
Count mtProcesses_Name=1
|
||||
mtProcesses_Name0="Name"
|
||||
Count mtProcesses_Description=1
|
||||
mtProcesses_Description0="Description"
|
||||
Count mtProcesses_Version=1
|
||||
mtProcesses_Version0="Version"
|
||||
Count mtProcesses_Memory=1
|
||||
mtProcesses_Memory0="Memory"
|
||||
Count mtProcesses_Priority=1
|
||||
mtProcesses_Priority0="Priority"
|
||||
Count mtProcesses_Threads=1
|
||||
mtProcesses_Threads0="Threads"
|
||||
Count mtProcesses_Path=1
|
||||
mtProcesses_Path0="Path"
|
||||
Count mtCPU_Registers=1
|
||||
mtCPU_Registers0="Registers"
|
||||
Count mtCPU_Stack=1
|
||||
mtCPU_Stack0="Stack"
|
||||
Count mtCPU_MemoryDump=1
|
||||
mtCPU_MemoryDump0="Memory Dump"
|
||||
Count mtSend_SuccessMsg=1
|
||||
mtSend_SuccessMsg0="The message was sent successfully."
|
||||
Count mtSend_FailureMsg=1
|
||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
||||
Count mtSend_BugClosedMsg=2
|
||||
mtSend_BugClosedMsg0="These BUG is just closed."
|
||||
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
|
||||
Count mtSend_UnknownErrorMsg=1
|
||||
mtSend_UnknownErrorMsg0="Unknown error."
|
||||
Count mtSend_InvalidLoginMsg=1
|
||||
mtSend_InvalidLoginMsg0="Invalid login request."
|
||||
Count mtSend_InvalidSearchMsg=1
|
||||
mtSend_InvalidSearchMsg0="Invalid search request."
|
||||
Count mtSend_InvalidSelectionMsg=1
|
||||
mtSend_InvalidSelectionMsg0="Invalid selection request."
|
||||
Count mtSend_InvalidInsertMsg=1
|
||||
mtSend_InvalidInsertMsg0="Invalid insert request."
|
||||
Count mtSend_InvalidModifyMsg=1
|
||||
mtSend_InvalidModifyMsg0="Invalid modify request."
|
||||
Count mtFileCrackedMsg=2
|
||||
mtFileCrackedMsg0="This file is cracked."
|
||||
mtFileCrackedMsg1="The application will be closed."
|
||||
Count mtException_LeakMultiFree=1
|
||||
mtException_LeakMultiFree0="Multi Free memory leak."
|
||||
Count mtException_LeakMemoryOverrun=1
|
||||
mtException_LeakMemoryOverrun0="Memory Overrun leak."
|
||||
Count mtException_AntiFreeze=1
|
||||
mtException_AntiFreeze0="The application seems to be frozen."
|
||||
Count mtInvalidEmailMsg=1
|
||||
mtInvalidEmailMsg0="Invalid email."
|
||||
TextsCollection=English
|
||||
EurekaLog Last Line -->
|
||||
42
Source/GUIBase/GUIBase.cfg
Normal file
42
Source/GUIBase/GUIBase.cfg
Normal file
@ -0,0 +1,42 @@
|
||||
-$A8
|
||||
-$B-
|
||||
-$C+
|
||||
-$D+
|
||||
-$E-
|
||||
-$F-
|
||||
-$G+
|
||||
-$H+
|
||||
-$I+
|
||||
-$J-
|
||||
-$K-
|
||||
-$L+
|
||||
-$M-
|
||||
-$N+
|
||||
-$O-
|
||||
-$P+
|
||||
-$Q-
|
||||
-$R-
|
||||
-$S-
|
||||
-$T-
|
||||
-$U-
|
||||
-$V+
|
||||
-$W+
|
||||
-$X+
|
||||
-$YD
|
||||
-$Z1
|
||||
-GD
|
||||
-cg
|
||||
-vn
|
||||
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||
-H+
|
||||
-W+
|
||||
-M
|
||||
-$M16384,1048576
|
||||
-K$00400000
|
||||
-N0".\"
|
||||
-LE"..\..\Output\Debug\Cliente"
|
||||
-LN"..\Lib"
|
||||
-U"..\Lib"
|
||||
-O"..\Lib"
|
||||
-I"..\Lib"
|
||||
-R"..\Lib"
|
||||
70
Source/GUIBase/GUIBase.dpk
Normal file
70
Source/GUIBase/GUIBase.dpk
Normal file
@ -0,0 +1,70 @@
|
||||
package GUIBase;
|
||||
|
||||
{$R *.res}
|
||||
{$ALIGN 8}
|
||||
{$ASSERTIONS ON}
|
||||
{$BOOLEVAL OFF}
|
||||
{$DEBUGINFO ON}
|
||||
{$EXTENDEDSYNTAX ON}
|
||||
{$IMPORTEDDATA ON}
|
||||
{$IOCHECKS ON}
|
||||
{$LOCALSYMBOLS ON}
|
||||
{$LONGSTRINGS ON}
|
||||
{$OPENSTRINGS ON}
|
||||
{$OPTIMIZATION OFF}
|
||||
{$OVERFLOWCHECKS OFF}
|
||||
{$RANGECHECKS OFF}
|
||||
{$REFERENCEINFO ON}
|
||||
{$SAFEDIVIDE OFF}
|
||||
{$STACKFRAMES ON}
|
||||
{$TYPEDADDRESS OFF}
|
||||
{$VARSTRINGCHECKS ON}
|
||||
{$WRITEABLECONST OFF}
|
||||
{$MINENUMSIZE 1}
|
||||
{$IMAGEBASE $400000}
|
||||
{$IMPLICITBUILD ON}
|
||||
{$DEFINE DEBUG}
|
||||
|
||||
requires
|
||||
rtl,
|
||||
vcl,
|
||||
dbrtl,
|
||||
vcldb,
|
||||
dxBarD10,
|
||||
dxBarExtItemsD10,
|
||||
dxPScxCommonD10,
|
||||
dxPScxGridLnkD10,
|
||||
dxPsPrVwAdvD10,
|
||||
dxLayoutControlD10,
|
||||
frx10,
|
||||
frxe10,
|
||||
fs10,
|
||||
JvAppFrmD11R,
|
||||
JvCtrlsD11R,
|
||||
Base;
|
||||
|
||||
contains
|
||||
uEditorBase in 'uEditorBase.pas' {fEditorBase: TCustomEditor},
|
||||
uEditorGridBase in 'uEditorGridBase.pas' {fEditorGridBase: TCustomEditor},
|
||||
uEditorItem in 'uEditorItem.pas' {fEditorItem: TCustomEditor},
|
||||
uEditorPreview in 'uEditorPreview.pas' {fEditorPreview: TCustomEditor},
|
||||
uViewPreview in 'uViewPreview.pas' {frViewPreview: TFrame},
|
||||
uViewBase in 'uViewBase.pas' {frViewBase: TFrame},
|
||||
uEditorDBBase in 'uEditorDBBase.pas' {fEditorDBBase: TCustomEditor},
|
||||
uEditorDBItem in 'uEditorDBItem.pas' {fEditorDBItem: TCustomEditor},
|
||||
uViewBarraSeleccion in 'uViewBarraSeleccion.pas' {frViewBarraSeleccion: TFrame},
|
||||
uViewGridBase in 'uViewGridBase.pas' {frViewGridBase: TFrame},
|
||||
uViewFormaPago in 'uViewFormaPago.pas' {frViewFormaPago: TFrame},
|
||||
uViewObservaciones in 'uViewObservaciones.pas' {frViewObservaciones: TFrame},
|
||||
uViewTotales in 'uViewTotales.pas' {frViewTotales: TFrame},
|
||||
uViewDetallesBase in 'uViewDetallesBase.pas' {frViewDetallesBase: TFrame},
|
||||
uViewIncidencias in 'uViewIncidencias.pas' {frViewIncidencias: TFrame},
|
||||
uViewDetallesDTO in 'uViewDetallesDTO.pas' {frViewDetallesDTO: TCustomView},
|
||||
uViewDetallesGenerico in 'uViewDetallesGenerico.pas' {frViewDetallesGenerico: TFrame},
|
||||
uViewGrid2Niveles in 'uViewGrid2Niveles.pas' {frViewGrid2Niveles: TFrame},
|
||||
uEditorBasico in 'uEditorBasico.pas' {fEditorBasico},
|
||||
uDialogBase in 'uDialogBase.pas' {fDialogBase},
|
||||
uViewFiltroBase in 'uViewFiltroBase.pas' {frViewFiltroBase: TFrame},
|
||||
uViewGrid in 'uViewGrid.pas' {frViewGrid: TFrame};
|
||||
|
||||
end.
|
||||
626
Source/GUIBase/GUIBase.dproj
Normal file
626
Source/GUIBase/GUIBase.dproj
Normal file
@ -0,0 +1,626 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{0ca27a95-0b81-4724-84bf-8f8ed4e421ae}</ProjectGuid>
|
||||
<MainSource>GUIBase.dpk</MainSource>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
|
||||
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Cliente\GUIBase.bpl</DCC_DependencyCheckOutputName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
<DCC_DebugInformation>False</DCC_DebugInformation>
|
||||
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
|
||||
<DCC_Optimize>False</DCC_Optimize>
|
||||
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
|
||||
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
|
||||
<DCC_MapFile>3</DCC_MapFile>
|
||||
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
|
||||
<DCC_DebugVN>True</DCC_DebugVN>
|
||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
||||
<DCC_BplOutput>..\..\Output\Release\Cliente</DCC_BplOutput>
|
||||
<DCC_DcpOutput>..\Lib</DCC_DcpOutput>
|
||||
<DCC_UnitSearchPath>..\Lib</DCC_UnitSearchPath>
|
||||
<DCC_ResourcePath>..\Lib</DCC_ResourcePath>
|
||||
<DCC_ObjPath>..\Lib</DCC_ObjPath>
|
||||
<DCC_IncludePath>..\Lib</DCC_IncludePath>
|
||||
<DCC_Define>RELEASE</DCC_Define>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<Version>7.0</Version>
|
||||
<DCC_Optimize>False</DCC_Optimize>
|
||||
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
|
||||
<DCC_MapFile>3</DCC_MapFile>
|
||||
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
|
||||
<DCC_DebugVN>True</DCC_DebugVN>
|
||||
<DCC_DcuOutput>.\</DCC_DcuOutput>
|
||||
<DCC_ObjOutput>.\</DCC_ObjOutput>
|
||||
<DCC_HppOutput>.\</DCC_HppOutput>
|
||||
<DCC_BplOutput>..\..\Output\Debug\Cliente</DCC_BplOutput>
|
||||
<DCC_DcpOutput>..\Lib</DCC_DcpOutput>
|
||||
<DCC_UnitSearchPath>..\Lib</DCC_UnitSearchPath>
|
||||
<DCC_ResourcePath>..\Lib</DCC_ResourcePath>
|
||||
<DCC_ObjPath>..\Lib</DCC_ObjPath>
|
||||
<DCC_IncludePath>..\Lib</DCC_IncludePath>
|
||||
<DCC_Define>DEBUG</DCC_Define>
|
||||
</PropertyGroup>
|
||||
<ProjectExtensions>
|
||||
<Borland.Personality>Delphi.Personality</Borland.Personality>
|
||||
<Borland.ProjectType>Package</Borland.ProjectType>
|
||||
<BorlandProject>
|
||||
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">GUIBase.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
|
||||
</ProjectExtensions>
|
||||
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
|
||||
<ItemGroup>
|
||||
<DelphiCompile Include="GUIBase.dpk">
|
||||
<MainSource>MainSource</MainSource>
|
||||
</DelphiCompile>
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxBarD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxBarExtItemsD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxLayoutControlD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxPScxCommonD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxPScxGridLnkD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\dxPsPrVwAdvD10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\frx10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\frxe10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\fs10.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
|
||||
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
|
||||
<DCCReference Include="uDialogBase.pas">
|
||||
<Form>fDialogBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorBase.pas">
|
||||
<Form>fEditorBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorBasico.pas">
|
||||
<Form>fEditorBasico</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorDBBase.pas">
|
||||
<Form>fEditorDBBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorDBItem.pas">
|
||||
<Form>fEditorDBItem</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorGridBase.pas">
|
||||
<Form>fEditorGridBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorItem.pas">
|
||||
<Form>fEditorItem</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uEditorPreview.pas">
|
||||
<Form>fEditorPreview</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewBarraSeleccion.pas">
|
||||
<Form>frViewBarraSeleccion</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewBase.pas">
|
||||
<Form>frViewBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewDetallesBase.pas">
|
||||
<Form>frViewDetallesBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewDetallesDTO.pas">
|
||||
<Form>frViewDetallesDTO</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewDetallesGenerico.pas">
|
||||
<Form>frViewDetallesGenerico</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewFiltroBase.pas">
|
||||
<Form>frViewFiltroBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewFormaPago.pas">
|
||||
<Form>frViewFormaPago</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewGrid.pas">
|
||||
<Form>frViewGrid</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewGrid2Niveles.pas">
|
||||
<Form>frViewGrid2Niveles</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewGridBase.pas">
|
||||
<Form>frViewGridBase</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewIncidencias.pas">
|
||||
<Form>frViewIncidencias</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewObservaciones.pas">
|
||||
<Form>frViewObservaciones</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewPreview.pas">
|
||||
<Form>frViewPreview</Form>
|
||||
</DCCReference>
|
||||
<DCCReference Include="uViewTotales.pas">
|
||||
<Form>frViewTotales</Form>
|
||||
</DCCReference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
<!-- EurekaLog First Line
|
||||
[Exception Log]
|
||||
EurekaLog Version=6006
|
||||
Activate=0
|
||||
Activate Handle=1
|
||||
Save Log File=1
|
||||
Foreground Tab=0
|
||||
Freeze Activate=0
|
||||
Freeze Timeout=0
|
||||
SMTP From=eurekalog@email.com
|
||||
SMTP Host=
|
||||
SMTP Port=25
|
||||
SMTP UserID=
|
||||
SMTP Password=
|
||||
Append to Log=0
|
||||
TerminateBtn Operation=2
|
||||
Errors Number=32
|
||||
Errors Terminate=3
|
||||
Email Address=
|
||||
Email Object=
|
||||
Email Send Options=0
|
||||
Output Path=
|
||||
Encrypt Password=
|
||||
AutoCloseDialogSecs=0
|
||||
WebSendMode=0
|
||||
SupportULR=
|
||||
HTMLLayout Count=15
|
||||
HTMLLine0="%3Chtml%3E"
|
||||
HTMLLine1=" %3Chead%3E"
|
||||
HTMLLine2=" %3C/head%3E"
|
||||
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
|
||||
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
|
||||
HTMLLine5=" %3Ctr%3E"
|
||||
HTMLLine6=" %3Ctd nowrap%3E"
|
||||
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
|
||||
HTMLLine8=" %3C%%HTML_TAG%%%3E"
|
||||
HTMLLine9=" %3C/font%3E"
|
||||
HTMLLine10=" %3C/td%3E"
|
||||
HTMLLine11=" %3C/tr%3E"
|
||||
HTMLLine12=" %3C/table%3E"
|
||||
HTMLLine13=" %3C/body%3E"
|
||||
HTMLLine14="%3C/html%3E"
|
||||
AutoCrashOperation=2
|
||||
AutoCrashNumber=10
|
||||
AutoCrashMinutes=1
|
||||
WebURL=
|
||||
WebUserID=
|
||||
WebPassword=
|
||||
WebPort=0
|
||||
AttachedFiles=
|
||||
ProxyURL=
|
||||
ProxyUser=
|
||||
ProxyPassword=
|
||||
ProxyPort=8080
|
||||
TrakerUser=
|
||||
TrakerPassword=
|
||||
TrakerAssignTo=
|
||||
TrakerProject=
|
||||
TrakerCategory=
|
||||
TrakerTrialID=
|
||||
ZipPassword=
|
||||
PreBuildEvent=
|
||||
PostSuccessfulBuildEvent=
|
||||
PostFailureBuildEvent=
|
||||
ExceptionDialogType=2
|
||||
Count=0
|
||||
EMail Message Line Count=0
|
||||
loNoDuplicateErrors=0
|
||||
loAppendReproduceText=0
|
||||
loDeleteLogAtVersionChange=0
|
||||
loAddComputerNameInLogFileName=0
|
||||
loSaveModulesAndProcessesSections=1
|
||||
loSaveAssemblerAndCPUSections=1
|
||||
soAppStartDate=1
|
||||
soAppName=1
|
||||
soAppVersionNumber=1
|
||||
soAppParameters=1
|
||||
soAppCompilationDate=1
|
||||
soAppUpTime=1
|
||||
soExcDate=1
|
||||
soExcAddress=1
|
||||
soExcModuleName=1
|
||||
soExcModuleVersion=1
|
||||
soExcType=1
|
||||
soExcMessage=1
|
||||
soExcID=1
|
||||
soExcCount=1
|
||||
soExcStatus=1
|
||||
soExcNote=1
|
||||
soUserID=1
|
||||
soUserName=1
|
||||
soUserEmail=1
|
||||
soUserPrivileges=1
|
||||
soUserCompany=1
|
||||
soActCtlsFormClass=1
|
||||
soActCtlsFormText=1
|
||||
soActCtlsControlClass=1
|
||||
soActCtlsControlText=1
|
||||
soCmpName=1
|
||||
soCmpTotalMemory=1
|
||||
soCmpFreeMemory=1
|
||||
soCmpTotalDisk=1
|
||||
soCmpFreeDisk=1
|
||||
soCmpSysUpTime=1
|
||||
soCmpProcessor=1
|
||||
soCmpDisplayMode=1
|
||||
soCmpDisplayDPI=1
|
||||
soCmpVideoCard=1
|
||||
soCmpPrinter=1
|
||||
soOSType=1
|
||||
soOSBuildN=1
|
||||
soOSUpdate=1
|
||||
soOSLanguage=1
|
||||
soOSCharset=1
|
||||
soNetIP=1
|
||||
soNetSubmask=1
|
||||
soNetGateway=1
|
||||
soNetDNS1=1
|
||||
soNetDNS2=1
|
||||
soNetDHCP=1
|
||||
soCustomData=1
|
||||
sndShowSendDialog=1
|
||||
sndShowSuccessFailureMsg=0
|
||||
sndSendEntireLog=0
|
||||
sndSendXMLLogCopy=0
|
||||
sndSendScreenshot=1
|
||||
sndUseOnlyActiveWindow=0
|
||||
sndSendLastHTMLPage=1
|
||||
sndSendInSeparatedThread=0
|
||||
sndAddDateInFileName=0
|
||||
sndAddComputerNameInFileName=0
|
||||
edoSendErrorReportChecked=1
|
||||
edoAttachScreenshotChecked=1
|
||||
edoShowCopyToClipOption=1
|
||||
edoShowDetailsButton=1
|
||||
edoShowInDetailedMode=0
|
||||
edoShowInTopMostMode=0
|
||||
edoUseEurekaLogLookAndFeel=0
|
||||
edoShowSendErrorReportOption=1
|
||||
edoShowAttachScreenshotOption=1
|
||||
edoShowCustomButton=0
|
||||
csoShowDLLs=1
|
||||
csoShowBPLs=1
|
||||
csoShowBorlandThreads=1
|
||||
csoShowWindowsThreads=1
|
||||
csoDoNotStoreProcNames=0
|
||||
boPauseBorlandThreads=0
|
||||
boDoNotPauseMainThread=0
|
||||
boPauseWindowsThreads=0
|
||||
boUseMainModuleOptions=1
|
||||
boCopyLogInCaseOfError=1
|
||||
boSaveCompressedCopyInCaseOfError=0
|
||||
boHandleSafeCallExceptions=1
|
||||
boCallRTLExceptionEvent=0
|
||||
boCatchHandledExceptions=0
|
||||
loCatchLeaks=0
|
||||
loGroupsSonLeaks=1
|
||||
loHideBorlandLeaks=1
|
||||
loFreeAllLeaks=1
|
||||
loCatchLeaksExceptions=1
|
||||
cfoReduceFileSize=1
|
||||
cfoCheckFileCorruption=0
|
||||
Count mtInformationMsgCaption=1
|
||||
mtInformationMsgCaption0="Information."
|
||||
Count mtQuestionMsgCaption=1
|
||||
mtQuestionMsgCaption0="Question."
|
||||
Count mtErrorMsgCaption=1
|
||||
mtErrorMsgCaption0="Error."
|
||||
Count mtDialog_Caption=1
|
||||
mtDialog_Caption0="Error occurred"
|
||||
Count mtDialog_ErrorMsgCaption=2
|
||||
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
|
||||
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
|
||||
Count mtDialog_GeneralCaption=1
|
||||
mtDialog_GeneralCaption0="General"
|
||||
Count mtDialog_GeneralHeader=1
|
||||
mtDialog_GeneralHeader0="General Information"
|
||||
Count mtDialog_CallStackCaption=1
|
||||
mtDialog_CallStackCaption0="Call Stack"
|
||||
Count mtDialog_CallStackHeader=1
|
||||
mtDialog_CallStackHeader0="Call Stack Information"
|
||||
Count mtDialog_ModulesCaption=1
|
||||
mtDialog_ModulesCaption0="Modules"
|
||||
Count mtDialog_ModulesHeader=1
|
||||
mtDialog_ModulesHeader0="Modules Information"
|
||||
Count mtDialog_ProcessesCaption=1
|
||||
mtDialog_ProcessesCaption0="Processes"
|
||||
Count mtDialog_ProcessesHeader=1
|
||||
mtDialog_ProcessesHeader0="Processes Information"
|
||||
Count mtDialog_AsmCaption=1
|
||||
mtDialog_AsmCaption0="Assembler"
|
||||
Count mtDialog_AsmHeader=1
|
||||
mtDialog_AsmHeader0="Assembler Information"
|
||||
Count mtDialog_CPUCaption=1
|
||||
mtDialog_CPUCaption0="CPU"
|
||||
Count mtDialog_CPUHeader=1
|
||||
mtDialog_CPUHeader0="CPU Information"
|
||||
Count mtDialog_OKButtonCaption=1
|
||||
mtDialog_OKButtonCaption0="%26OK"
|
||||
Count mtDialog_TerminateButtonCaption=1
|
||||
mtDialog_TerminateButtonCaption0="%26Terminate"
|
||||
Count mtDialog_RestartButtonCaption=1
|
||||
mtDialog_RestartButtonCaption0="%26Restart"
|
||||
Count mtDialog_DetailsButtonCaption=1
|
||||
mtDialog_DetailsButtonCaption0="%26Details"
|
||||
Count mtDialog_CustomButtonCaption=1
|
||||
mtDialog_CustomButtonCaption0="%26Help"
|
||||
Count mtDialog_SendMessage=1
|
||||
mtDialog_SendMessage0="%26Send this error via Internet"
|
||||
Count mtDialog_ScreenshotMessage=1
|
||||
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
|
||||
Count mtDialog_CopyMessage=1
|
||||
mtDialog_CopyMessage0="%26Copy to Clipboard"
|
||||
Count mtDialog_SupportMessage=1
|
||||
mtDialog_SupportMessage0="Go to the Support Page"
|
||||
Count mtMSDialog_ErrorMsgCaption=1
|
||||
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
|
||||
Count mtMSDialog_RestartCaption=1
|
||||
mtMSDialog_RestartCaption0="Restart application."
|
||||
Count mtMSDialog_TerminateCaption=1
|
||||
mtMSDialog_TerminateCaption0="Terminate application."
|
||||
Count mtMSDialog_PleaseCaption=1
|
||||
mtMSDialog_PleaseCaption0="Please tell us about this problem."
|
||||
Count mtMSDialog_DescriptionCaption=1
|
||||
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
|
||||
Count mtMSDialog_SeeDetailsCaption=1
|
||||
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
|
||||
Count mtMSDialog_SeeClickCaption=1
|
||||
mtMSDialog_SeeClickCaption0="click here."
|
||||
Count mtMSDialog_HowToReproduceCaption=1
|
||||
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
|
||||
Count mtMSDialog_EmailCaption=1
|
||||
mtMSDialog_EmailCaption0="Email address (optional):"
|
||||
Count mtMSDialog_SendButtonCaption=1
|
||||
mtMSDialog_SendButtonCaption0="%26Send Error Report"
|
||||
Count mtMSDialog_NoSendButtonCaption=1
|
||||
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
|
||||
Count mtLog_AppHeader=1
|
||||
mtLog_AppHeader0="Application"
|
||||
Count mtLog_AppStartDate=1
|
||||
mtLog_AppStartDate0="Start Date"
|
||||
Count mtLog_AppName=1
|
||||
mtLog_AppName0="Name/Description"
|
||||
Count mtLog_AppVersionNumber=1
|
||||
mtLog_AppVersionNumber0="Version Number"
|
||||
Count mtLog_AppParameters=1
|
||||
mtLog_AppParameters0="Parameters"
|
||||
Count mtLog_AppCompilationDate=1
|
||||
mtLog_AppCompilationDate0="Compilation Date"
|
||||
Count mtLog_AppUpTime=1
|
||||
mtLog_AppUpTime0="Up Time"
|
||||
Count mtLog_ExcHeader=1
|
||||
mtLog_ExcHeader0="Exception"
|
||||
Count mtLog_ExcDate=1
|
||||
mtLog_ExcDate0="Date"
|
||||
Count mtLog_ExcAddress=1
|
||||
mtLog_ExcAddress0="Address"
|
||||
Count mtLog_ExcModuleName=1
|
||||
mtLog_ExcModuleName0="Module Name"
|
||||
Count mtLog_ExcModuleVersion=1
|
||||
mtLog_ExcModuleVersion0="Module Version"
|
||||
Count mtLog_ExcType=1
|
||||
mtLog_ExcType0="Type"
|
||||
Count mtLog_ExcMessage=1
|
||||
mtLog_ExcMessage0="Message"
|
||||
Count mtLog_ExcID=1
|
||||
mtLog_ExcID0="ID"
|
||||
Count mtLog_ExcCount=1
|
||||
mtLog_ExcCount0="Count"
|
||||
Count mtLog_ExcStatus=1
|
||||
mtLog_ExcStatus0="Status"
|
||||
Count mtLog_ExcNote=1
|
||||
mtLog_ExcNote0="Note"
|
||||
Count mtLog_UserHeader=1
|
||||
mtLog_UserHeader0="User"
|
||||
Count mtLog_UserID=1
|
||||
mtLog_UserID0="ID"
|
||||
Count mtLog_UserName=1
|
||||
mtLog_UserName0="Name"
|
||||
Count mtLog_UserEmail=1
|
||||
mtLog_UserEmail0="Email"
|
||||
Count mtLog_UserCompany=1
|
||||
mtLog_UserCompany0="Company"
|
||||
Count mtLog_UserPrivileges=1
|
||||
mtLog_UserPrivileges0="Privileges"
|
||||
Count mtLog_ActCtrlsHeader=1
|
||||
mtLog_ActCtrlsHeader0="Active Controls"
|
||||
Count mtLog_ActCtrlsFormClass=1
|
||||
mtLog_ActCtrlsFormClass0="Form Class"
|
||||
Count mtLog_ActCtrlsFormText=1
|
||||
mtLog_ActCtrlsFormText0="Form Text"
|
||||
Count mtLog_ActCtrlsControlClass=1
|
||||
mtLog_ActCtrlsControlClass0="Control Class"
|
||||
Count mtLog_ActCtrlsControlText=1
|
||||
mtLog_ActCtrlsControlText0="Control Text"
|
||||
Count mtLog_CmpHeader=1
|
||||
mtLog_CmpHeader0="Computer"
|
||||
Count mtLog_CmpName=1
|
||||
mtLog_CmpName0="Name"
|
||||
Count mtLog_CmpTotalMemory=1
|
||||
mtLog_CmpTotalMemory0="Total Memory"
|
||||
Count mtLog_CmpFreeMemory=1
|
||||
mtLog_CmpFreeMemory0="Free Memory"
|
||||
Count mtLog_CmpTotalDisk=1
|
||||
mtLog_CmpTotalDisk0="Total Disk"
|
||||
Count mtLog_CmpFreeDisk=1
|
||||
mtLog_CmpFreeDisk0="Free Disk"
|
||||
Count mtLog_CmpSystemUpTime=1
|
||||
mtLog_CmpSystemUpTime0="System Up Time"
|
||||
Count mtLog_CmpProcessor=1
|
||||
mtLog_CmpProcessor0="Processor"
|
||||
Count mtLog_CmpDisplayMode=1
|
||||
mtLog_CmpDisplayMode0="Display Mode"
|
||||
Count mtLog_CmpDisplayDPI=1
|
||||
mtLog_CmpDisplayDPI0="Display DPI"
|
||||
Count mtLog_CmpVideoCard=1
|
||||
mtLog_CmpVideoCard0="Video Card"
|
||||
Count mtLog_CmpPrinter=1
|
||||
mtLog_CmpPrinter0="Printer"
|
||||
Count mtLog_OSHeader=1
|
||||
mtLog_OSHeader0="Operating System"
|
||||
Count mtLog_OSType=1
|
||||
mtLog_OSType0="Type"
|
||||
Count mtLog_OSBuildN=1
|
||||
mtLog_OSBuildN0="Build #"
|
||||
Count mtLog_OSUpdate=1
|
||||
mtLog_OSUpdate0="Update"
|
||||
Count mtLog_OSLanguage=1
|
||||
mtLog_OSLanguage0="Language"
|
||||
Count mtLog_OSCharset=1
|
||||
mtLog_OSCharset0="Charset"
|
||||
Count mtLog_NetHeader=1
|
||||
mtLog_NetHeader0="Network"
|
||||
Count mtLog_NetIP=1
|
||||
mtLog_NetIP0="IP Address"
|
||||
Count mtLog_NetSubmask=1
|
||||
mtLog_NetSubmask0="Submask"
|
||||
Count mtLog_NetGateway=1
|
||||
mtLog_NetGateway0="Gateway"
|
||||
Count mtLog_NetDNS1=1
|
||||
mtLog_NetDNS10="DNS 1"
|
||||
Count mtLog_NetDNS2=1
|
||||
mtLog_NetDNS20="DNS 2"
|
||||
Count mtLog_NetDHCP=1
|
||||
mtLog_NetDHCP0="DHCP"
|
||||
Count mtLog_CustInfoHeader=1
|
||||
mtLog_CustInfoHeader0="Custom Information"
|
||||
Count mtCallStack_Address=1
|
||||
mtCallStack_Address0="Address"
|
||||
Count mtCallStack_Name=1
|
||||
mtCallStack_Name0="Module"
|
||||
Count mtCallStack_Unit=1
|
||||
mtCallStack_Unit0="Unit"
|
||||
Count mtCallStack_Class=1
|
||||
mtCallStack_Class0="Class"
|
||||
Count mtCallStack_Procedure=1
|
||||
mtCallStack_Procedure0="Procedure/Method"
|
||||
Count mtCallStack_Line=1
|
||||
mtCallStack_Line0="Line"
|
||||
Count mtCallStack_MainThread=1
|
||||
mtCallStack_MainThread0="Main"
|
||||
Count mtCallStack_ExceptionThread=1
|
||||
mtCallStack_ExceptionThread0="Exception Thread"
|
||||
Count mtCallStack_RunningThread=1
|
||||
mtCallStack_RunningThread0="Running Thread"
|
||||
Count mtCallStack_CallingThread=1
|
||||
mtCallStack_CallingThread0="Calling Thread"
|
||||
Count mtCallStack_ThreadID=1
|
||||
mtCallStack_ThreadID0="ID"
|
||||
Count mtCallStack_ThreadPriority=1
|
||||
mtCallStack_ThreadPriority0="Priority"
|
||||
Count mtCallStack_ThreadClass=1
|
||||
mtCallStack_ThreadClass0="Class"
|
||||
Count mtCallStack_LeakCaption=1
|
||||
mtCallStack_LeakCaption0="Memory Leak"
|
||||
Count mtCallStack_LeakData=1
|
||||
mtCallStack_LeakData0="Data"
|
||||
Count mtCallStack_LeakType=1
|
||||
mtCallStack_LeakType0="Type"
|
||||
Count mtCallStack_LeakSize=1
|
||||
mtCallStack_LeakSize0="Total size"
|
||||
Count mtCallStack_LeakCount=1
|
||||
mtCallStack_LeakCount0="Count"
|
||||
Count mtSendDialog_Caption=1
|
||||
mtSendDialog_Caption0="Send."
|
||||
Count mtSendDialog_Message=1
|
||||
mtSendDialog_Message0="Message"
|
||||
Count mtSendDialog_Resolving=1
|
||||
mtSendDialog_Resolving0="Resolving DNS..."
|
||||
Count mtSendDialog_Login=1
|
||||
mtSendDialog_Login0="Login..."
|
||||
Count mtSendDialog_Connecting=1
|
||||
mtSendDialog_Connecting0="Connecting with server..."
|
||||
Count mtSendDialog_Connected=1
|
||||
mtSendDialog_Connected0="Connected with server."
|
||||
Count mtSendDialog_Sending=1
|
||||
mtSendDialog_Sending0="Sending message..."
|
||||
Count mtSendDialog_Sent=1
|
||||
mtSendDialog_Sent0="Message sent."
|
||||
Count mtSendDialog_SelectProject=1
|
||||
mtSendDialog_SelectProject0="Select project..."
|
||||
Count mtSendDialog_Searching=1
|
||||
mtSendDialog_Searching0="Searching..."
|
||||
Count mtSendDialog_Modifying=1
|
||||
mtSendDialog_Modifying0="Modifying..."
|
||||
Count mtSendDialog_Disconnecting=1
|
||||
mtSendDialog_Disconnecting0="Disconnecting..."
|
||||
Count mtSendDialog_Disconnected=1
|
||||
mtSendDialog_Disconnected0="Disconnected."
|
||||
Count mtReproduceDialog_Caption=1
|
||||
mtReproduceDialog_Caption0="Request"
|
||||
Count mtReproduceDialog_Request=1
|
||||
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
|
||||
Count mtReproduceDialog_OKButtonCaption=1
|
||||
mtReproduceDialog_OKButtonCaption0="%26OK"
|
||||
Count mtModules_Handle=1
|
||||
mtModules_Handle0="Handle"
|
||||
Count mtModules_Name=1
|
||||
mtModules_Name0="Name"
|
||||
Count mtModules_Description=1
|
||||
mtModules_Description0="Description"
|
||||
Count mtModules_Version=1
|
||||
mtModules_Version0="Version"
|
||||
Count mtModules_Size=1
|
||||
mtModules_Size0="Size"
|
||||
Count mtModules_LastModified=1
|
||||
mtModules_LastModified0="Modified"
|
||||
Count mtModules_Path=1
|
||||
mtModules_Path0="Path"
|
||||
Count mtProcesses_ID=1
|
||||
mtProcesses_ID0="ID"
|
||||
Count mtProcesses_Name=1
|
||||
mtProcesses_Name0="Name"
|
||||
Count mtProcesses_Description=1
|
||||
mtProcesses_Description0="Description"
|
||||
Count mtProcesses_Version=1
|
||||
mtProcesses_Version0="Version"
|
||||
Count mtProcesses_Memory=1
|
||||
mtProcesses_Memory0="Memory"
|
||||
Count mtProcesses_Priority=1
|
||||
mtProcesses_Priority0="Priority"
|
||||
Count mtProcesses_Threads=1
|
||||
mtProcesses_Threads0="Threads"
|
||||
Count mtProcesses_Path=1
|
||||
mtProcesses_Path0="Path"
|
||||
Count mtCPU_Registers=1
|
||||
mtCPU_Registers0="Registers"
|
||||
Count mtCPU_Stack=1
|
||||
mtCPU_Stack0="Stack"
|
||||
Count mtCPU_MemoryDump=1
|
||||
mtCPU_MemoryDump0="Memory Dump"
|
||||
Count mtSend_SuccessMsg=1
|
||||
mtSend_SuccessMsg0="The message was sent successfully."
|
||||
Count mtSend_FailureMsg=1
|
||||
mtSend_FailureMsg0="Sorry, sending the message didn't work."
|
||||
Count mtSend_BugClosedMsg=2
|
||||
mtSend_BugClosedMsg0="These BUG is just closed."
|
||||
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
|
||||
Count mtSend_UnknownErrorMsg=1
|
||||
mtSend_UnknownErrorMsg0="Unknown error."
|
||||
Count mtSend_InvalidLoginMsg=1
|
||||
mtSend_InvalidLoginMsg0="Invalid login request."
|
||||
Count mtSend_InvalidSearchMsg=1
|
||||
mtSend_InvalidSearchMsg0="Invalid search request."
|
||||
Count mtSend_InvalidSelectionMsg=1
|
||||
mtSend_InvalidSelectionMsg0="Invalid selection request."
|
||||
Count mtSend_InvalidInsertMsg=1
|
||||
mtSend_InvalidInsertMsg0="Invalid insert request."
|
||||
Count mtSend_InvalidModifyMsg=1
|
||||
mtSend_InvalidModifyMsg0="Invalid modify request."
|
||||
Count mtFileCrackedMsg=2
|
||||
mtFileCrackedMsg0="This file is cracked."
|
||||
mtFileCrackedMsg1="The application will be closed."
|
||||
Count mtException_LeakMultiFree=1
|
||||
mtException_LeakMultiFree0="Multi Free memory leak."
|
||||
Count mtException_LeakMemoryOverrun=1
|
||||
mtException_LeakMemoryOverrun0="Memory Overrun leak."
|
||||
Count mtException_AntiFreeze=1
|
||||
mtException_AntiFreeze0="The application seems to be frozen."
|
||||
Count mtInvalidEmailMsg=1
|
||||
mtInvalidEmailMsg0="Invalid email."
|
||||
TextsCollection=English
|
||||
EurekaLog Last Line -->
|
||||
38
Source/GUIBase/GUIBase.drc
Normal file
38
Source/GUIBase/GUIBase.drc
Normal file
@ -0,0 +1,38 @@
|
||||
/* VER185
|
||||
Generated by the CodeGear Delphi Pascal Compiler
|
||||
because -GD or --drc was supplied to the compiler.
|
||||
|
||||
This file contains compiler-generated resources that
|
||||
were bound to the executable.
|
||||
If this file is empty, then no compiler-generated
|
||||
resources were bound to the produced executable.
|
||||
*/
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
END
|
||||
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewBase.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uEditorBase.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewFiltroBase.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewGridBase.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uEditorItem.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uEditorDBBase.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uEditorGridBase.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewPreview.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uEditorPreview.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uEditorDBItem.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewBarraSeleccion.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewFormaPago.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewObservaciones.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewTotales.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewDetallesBase.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewIncidencias.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewDetallesDTO.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewDetallesGenerico.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewGrid2Niveles.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uEditorBasico.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uDialogBase.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\uViewGrid.dfm */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\GUIBase.res */
|
||||
/* C:\Codigo Tecsitel\Source\GUIBase\GUIBase.drf */
|
||||
22
Source/GUIBase/GUIBase.rc
Normal file
22
Source/GUIBase/GUIBase.rc
Normal file
@ -0,0 +1,22 @@
|
||||
1 VERSIONINFO
|
||||
FILEVERSION 1,0,0,0
|
||||
PRODUCTVERSION 1,0,0,0
|
||||
FILEFLAGSMASK 0x3FL
|
||||
FILEFLAGS 0x00L
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "0C0A04E4"
|
||||
BEGIN
|
||||
VALUE "FileVersion", "1.0.0.0\0"
|
||||
VALUE "ProductVersion", "1.0.0.0\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x0C0A, 1252
|
||||
END
|
||||
END
|
||||
BIN
Source/GUIBase/GUIBase.res
Normal file
BIN
Source/GUIBase/GUIBase.res
Normal file
Binary file not shown.
106
Source/GUIBase/uDialogBase.dfm
Normal file
106
Source/GUIBase/uDialogBase.dfm
Normal file
@ -0,0 +1,106 @@
|
||||
object fDialogBase: TfDialogBase
|
||||
Left = 0
|
||||
Top = 0
|
||||
BorderStyle = bsDialog
|
||||
Caption = 'fDialogBase'
|
||||
ClientHeight = 430
|
||||
ClientWidth = 623
|
||||
Color = clWindow
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
Position = poMainFormCenter
|
||||
OnShow = FormShow
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object pnlBotones: TFlowPanel
|
||||
Left = 0
|
||||
Top = 374
|
||||
Width = 623
|
||||
Height = 56
|
||||
Align = alBottom
|
||||
FlowStyle = fsBottomTopRightLeft
|
||||
Padding.Left = 20
|
||||
Padding.Top = 20
|
||||
Padding.Right = 20
|
||||
Padding.Bottom = 15
|
||||
ParentBackground = False
|
||||
TabOrder = 0
|
||||
VerticalAlignment = taAlignTop
|
||||
object Button1: TButton
|
||||
Left = 527
|
||||
Top = 15
|
||||
Width = 75
|
||||
Height = 25
|
||||
Action = actCancelar
|
||||
TabOrder = 0
|
||||
end
|
||||
object Button2: TButton
|
||||
AlignWithMargins = True
|
||||
Left = 437
|
||||
Top = 15
|
||||
Width = 75
|
||||
Height = 25
|
||||
Margins.Left = 0
|
||||
Margins.Top = 0
|
||||
Margins.Right = 15
|
||||
Margins.Bottom = 0
|
||||
Action = actAceptar
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object FlowPanel1: TFlowPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 623
|
||||
Height = 374
|
||||
Align = alClient
|
||||
Padding.Left = 30
|
||||
Padding.Top = 30
|
||||
Padding.Right = 30
|
||||
Padding.Bottom = 30
|
||||
ParentColor = True
|
||||
TabOrder = 1
|
||||
object lblInstruccion: TLabel
|
||||
AlignWithMargins = True
|
||||
Left = 31
|
||||
Top = 31
|
||||
Width = 78
|
||||
Height = 19
|
||||
Margins.Left = 0
|
||||
Margins.Top = 0
|
||||
Margins.Right = 0
|
||||
Margins.Bottom = 20
|
||||
Align = alTop
|
||||
Caption = 'Instrucci'#243'n'
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -16
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
end
|
||||
object Label2: TLabel
|
||||
Left = 31
|
||||
Top = 70
|
||||
Width = 571
|
||||
Height = 81
|
||||
Align = alTop
|
||||
AutoSize = False
|
||||
Caption = 'Comentarios'
|
||||
end
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
Left = 16
|
||||
Top = 384
|
||||
object actAceptar: TAction
|
||||
Caption = '&Aceptar'
|
||||
end
|
||||
object actCancelar: TAction
|
||||
Caption = '&Cancelar'
|
||||
end
|
||||
end
|
||||
end
|
||||
39
Source/GUIBase/uDialogBase.pas
Normal file
39
Source/GUIBase/uDialogBase.pas
Normal file
@ -0,0 +1,39 @@
|
||||
unit uDialogBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, StdCtrls, ExtCtrls, ActnList;
|
||||
|
||||
type
|
||||
TfDialogBase = class(TForm)
|
||||
pnlBotones: TFlowPanel;
|
||||
Button1: TButton;
|
||||
Button2: TButton;
|
||||
ActionList1: TActionList;
|
||||
actAceptar: TAction;
|
||||
actCancelar: TAction;
|
||||
FlowPanel1: TFlowPanel;
|
||||
lblInstruccion: TLabel;
|
||||
Label2: TLabel;
|
||||
procedure FormShow(Sender: TObject);
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDataModuleBase, JvNavigationPane;
|
||||
|
||||
procedure TfDialogBase.FormShow(Sender: TObject);
|
||||
begin
|
||||
lblInstruccion.Font.Color := dmBase.StyleManager.Colors.HeaderColorTo;
|
||||
end;
|
||||
|
||||
end.
|
||||
1705
Source/GUIBase/uEditorBase.dfm
Normal file
1705
Source/GUIBase/uEditorBase.dfm
Normal file
File diff suppressed because it is too large
Load Diff
460
Source/GUIBase/uEditorBase.pas
Normal file
460
Source/GUIBase/uEditorBase.pas
Normal file
@ -0,0 +1,460 @@
|
||||
unit uEditorBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
uGUIBase, uCustomEditor, ToolWin, ComCtrls, JvExControls,
|
||||
JvComponent, JvNavigationPane, ActnList, TBX, TB2Item, ImgList,
|
||||
PngImageList, StdActns, JvFormAutoSize, AppEvnts, uCustomView, uViewBase,
|
||||
JvAppStorage, JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls,
|
||||
JvComponentBase, TB2Dock, TB2Toolbar, dxLayoutLookAndFeels, TBXStatusBars,
|
||||
JvExComCtrls, JvStatusBar;
|
||||
|
||||
type
|
||||
IEditorBase = interface(ICustomEditor)
|
||||
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
|
||||
function ShowModal : Integer;
|
||||
procedure Show;
|
||||
end;
|
||||
|
||||
TfEditorBase = class(TCustomEditor, IEditorBase)
|
||||
actAcercaDe: TAction;
|
||||
actAnterior: TAction;
|
||||
actBuscar: TAction;
|
||||
actCancelarCambios: TAction;
|
||||
actCerrar: TAction;
|
||||
actConfPagina: TAction;
|
||||
actCopiar: TEditCopy;
|
||||
actCortar: TEditCut;
|
||||
actDeshacer: TEditUndo;
|
||||
actEliminar: TAction;
|
||||
actGuardar: TAction;
|
||||
actGuardarCerrar: TAction;
|
||||
actImprimir: TAction;
|
||||
actLimpiar: TEditDelete;
|
||||
actModificar: TAction;
|
||||
actNuevo: TAction;
|
||||
actPegar: TEditPaste;
|
||||
actPrevisualizar: TAction;
|
||||
actRefrescar: TAction;
|
||||
actSeleccionarTodo: TEditSelectAll;
|
||||
actSiguiente: TAction;
|
||||
EditorActionList: TActionList;
|
||||
JvNavPanelHeader: TJvNavPanelHeader;
|
||||
LargeImages: TPngImageList;
|
||||
SmallImages: TPngImageList;
|
||||
TBXDock: TTBXDock;
|
||||
TBXItem1: TTBXItem;
|
||||
TBXItem10: TTBXItem;
|
||||
TBXItem11: TTBXItem;
|
||||
TBXItem12: TTBXItem;
|
||||
TBXItem13: TTBXItem;
|
||||
TBXItem14: TTBXItem;
|
||||
TBXItem15: TTBXItem;
|
||||
TBXItem16: TTBXItem;
|
||||
TBXItem17: TTBXItem;
|
||||
TBXItem18: TTBXItem;
|
||||
TBXItem19: TTBXItem;
|
||||
TBXItem2: TTBXItem;
|
||||
TBXItem20: TTBXItem;
|
||||
TBXItem21: TTBXItem;
|
||||
TBXItem22: TTBXItem;
|
||||
TBXItem23: TTBXItem;
|
||||
TBXItem24: TTBXItem;
|
||||
TBXItem25: TTBXItem;
|
||||
TBXItem26: TTBXItem;
|
||||
TBXItem27: TTBXItem;
|
||||
TBXItem28: TTBXItem;
|
||||
TBXItem29: TTBXItem;
|
||||
TBXItem3: TTBXItem;
|
||||
TBXItem30: TTBXItem;
|
||||
TBXItem31: TTBXItem;
|
||||
TBXItem32: TTBXItem;
|
||||
TBXItem4: TTBXItem;
|
||||
TBXItem5: TTBXItem;
|
||||
TBXItem6: TTBXItem;
|
||||
TBXItem8: TTBXItem;
|
||||
TBXItem9: TTBXItem;
|
||||
tbxMain: TTBXToolbar;
|
||||
tbxMenu: TTBXToolbar;
|
||||
TBXSeparatorItem1: TTBXSeparatorItem;
|
||||
TBXSeparatorItem10: TTBXSeparatorItem;
|
||||
TBXSeparatorItem11: TTBXSeparatorItem;
|
||||
TBXSeparatorItem12: TTBXSeparatorItem;
|
||||
TBXSeparatorItem13: TTBXSeparatorItem;
|
||||
TBXSeparatorItem2: TTBXSeparatorItem;
|
||||
TBXSeparatorItem3: TTBXSeparatorItem;
|
||||
TBXSeparatorItem4: TTBXSeparatorItem;
|
||||
TBXSeparatorItem5: TTBXSeparatorItem;
|
||||
TBXSeparatorItem7: TTBXSeparatorItem;
|
||||
TBXSeparatorItem8: TTBXSeparatorItem;
|
||||
TBXSeparatorItem9: TTBXSeparatorItem;
|
||||
TBXSubmenuItem1: TTBXSubmenuItem;
|
||||
TBXSubmenuItem4: TTBXSubmenuItem;
|
||||
TBXSubmenuItem5: TTBXSubmenuItem;
|
||||
TBXSubmenuItem6: TTBXSubmenuItem;
|
||||
TBXSubmenuItem7: TTBXSubmenuItem;
|
||||
JvFormStorage: TJvFormStorage;
|
||||
JvAppRegistryStorage: TJvAppRegistryStorage;
|
||||
Image1: TImage;
|
||||
TBXSeparatorItem15: TTBXSeparatorItem;
|
||||
StatusBarImages: TPngImageList;
|
||||
StatusBar: TJvStatusBar;
|
||||
procedure actCerrarExecute(Sender: TObject);
|
||||
procedure actGuardarCerrarExecute(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure CustomEditorActivate(Sender: TObject);
|
||||
procedure actModificarExecute(Sender: TObject);
|
||||
procedure actGuardarExecute(Sender: TObject);
|
||||
procedure actPrevisualizarExecute(Sender: TObject);
|
||||
procedure actImprimirExecute(Sender: TObject);
|
||||
procedure actNuevoExecute(Sender: TObject);
|
||||
procedure actEliminarExecute(Sender: TObject);
|
||||
procedure actConfPaginaExecute(Sender: TObject);
|
||||
procedure actCancelarCambiosExecute(Sender: TObject);
|
||||
procedure actDuplicarExecute(Sender: TObject);
|
||||
procedure actRefrescarExecute(Sender: TObject);
|
||||
procedure actModificarUpdate(Sender: TObject);
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actGuardarCerrarUpdate(Sender: TObject);
|
||||
procedure actGuardarUpdate(Sender: TObject);
|
||||
protected
|
||||
procedure CreateParams(Var params: TCreateParams); override;
|
||||
procedure ActualizarEstadoEditor; virtual;
|
||||
function ModifiedQuery : Boolean;
|
||||
procedure ModificarInterno; virtual;
|
||||
procedure EliminarInterno; virtual;
|
||||
procedure GuardarInterno; virtual;
|
||||
procedure NuevoInterno; virtual;
|
||||
procedure ImprimirInterno; virtual;
|
||||
procedure PrevisualizarInterno; virtual;
|
||||
procedure ConfPaginaInterno; virtual;
|
||||
procedure RefrescarInterno; virtual;
|
||||
procedure CancelarCambiosInterno; virtual;
|
||||
procedure CerrarInterno; virtual;
|
||||
procedure DuplicarInterno; virtual;
|
||||
procedure PonerTitulos(const ATitulo: String = ''); virtual;
|
||||
procedure SetReadOnly(Value: Boolean); override;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
function ShowModal : Integer;
|
||||
procedure Show;
|
||||
published
|
||||
procedure FormShow(Sender: TObject); virtual;
|
||||
end;
|
||||
|
||||
TfEditorBaseClass = class of TfEditorBase;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
Menus, uDataModuleBase, cxControls, uDialogUtils;
|
||||
|
||||
{
|
||||
********************************* TfEditorBase *********************************
|
||||
}
|
||||
procedure TfEditorBase.actCancelarCambiosExecute(Sender: TObject);
|
||||
begin
|
||||
CancelarCambiosInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actCerrarExecute(Sender: TObject);
|
||||
begin
|
||||
CerrarInterno;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actConfPaginaExecute(Sender: TObject);
|
||||
begin
|
||||
ConfPaginaInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actDuplicarExecute(Sender: TObject);
|
||||
begin
|
||||
DuplicarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actEliminarExecute(Sender: TObject);
|
||||
begin
|
||||
if actEliminar.Enabled then
|
||||
begin
|
||||
EliminarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
(Sender as TAction).Enabled := not ReadOnly;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actGuardarCerrarExecute(Sender: TObject);
|
||||
begin
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
if actGuardar.Execute then
|
||||
actCerrar.Execute;
|
||||
finally
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actGuardarCerrarUpdate(Sender: TObject);
|
||||
begin
|
||||
(Sender as TAction).Enabled := not ReadOnly;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actGuardarExecute(Sender: TObject);
|
||||
begin
|
||||
GuardarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actGuardarUpdate(Sender: TObject);
|
||||
begin
|
||||
(Sender as TAction).Enabled := not ReadOnly;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actImprimirExecute(Sender: TObject);
|
||||
begin
|
||||
if actImprimir.Enabled then
|
||||
begin
|
||||
ImprimirInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actModificarExecute(Sender: TObject);
|
||||
begin
|
||||
if actModificar.Enabled then
|
||||
begin
|
||||
ModificarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actModificarUpdate(Sender: TObject);
|
||||
begin
|
||||
(Sender as TAction).Enabled := not ReadOnly;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actNuevoExecute(Sender: TObject);
|
||||
begin
|
||||
if actNuevo.Enabled then
|
||||
begin
|
||||
NuevoInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actPrevisualizarExecute(Sender: TObject);
|
||||
begin
|
||||
if actPrevisualizar.Enabled then
|
||||
begin
|
||||
PrevisualizarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.actRefrescarExecute(Sender: TObject);
|
||||
begin
|
||||
if actRefrescar.Enabled then
|
||||
begin
|
||||
RefrescarInterno;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.ActualizarEstadoEditor;
|
||||
begin
|
||||
PonerTitulos;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.CancelarCambiosInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.CerrarInterno;
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.ConfPaginaInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
constructor TfEditorBase.Create(AOwner: TComponent);
|
||||
var
|
||||
APath : String;
|
||||
begin
|
||||
inherited;
|
||||
with JvFormStorage do
|
||||
begin
|
||||
if Pos('_', Self.Name) = 0 then
|
||||
APath := Self.Name
|
||||
else
|
||||
APath := Copy(Self.Name, 0, (Pos('_', Self.Name)-1));
|
||||
AppStoragePath := APath;
|
||||
end;
|
||||
JvNavPanelHeader.StyleManager := dmBase.StyleManager;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.CustomEditorActivate(Sender: TObject);
|
||||
begin
|
||||
PonerTitulos;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.DuplicarInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.EliminarInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
begin
|
||||
if Valid then
|
||||
CanClose := ModifiedQuery
|
||||
else
|
||||
CanClose := False;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.FormShow(Sender: TObject);
|
||||
begin
|
||||
ActualizarEstadoEditor;
|
||||
if Assigned(Parent) then
|
||||
begin
|
||||
StatusBar.Visible := False;
|
||||
actCerrar.ShortCut := 0
|
||||
end
|
||||
else begin
|
||||
StatusBar.Visible := True;
|
||||
actCerrar.ShortCut := ShortCut(VK_ESCAPE, []);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.GuardarInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.ImprimirInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.ModificarInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
function TfEditorBase.ModifiedQuery: Boolean;
|
||||
var
|
||||
Respuesta: Integer;
|
||||
begin
|
||||
Result := True;
|
||||
if Modified then
|
||||
begin
|
||||
|
||||
Respuesta := ShowConfirmMessage('Atención',
|
||||
'Se han producido cambios',
|
||||
'¿Desea guardar los cambios que se han producido antes de cerrar?',
|
||||
[TDlgButton_SI, TDlgButton_NO, TDlgButton_CANCELAR]);
|
||||
|
||||
case Respuesta of
|
||||
IDYES : actGuardar.Execute;
|
||||
IDNO : actCancelarCambios.Execute;
|
||||
else
|
||||
Result := False;
|
||||
end;
|
||||
end
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.NuevoInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.PonerTitulos(const ATitulo: String);
|
||||
begin
|
||||
if ReadOnly then
|
||||
begin
|
||||
JvNavPanelHeader.Caption := ATitulo + ' (NO MODIFICABLE)';
|
||||
Caption := ATitulo + ' (NO MODIFICABLE)';
|
||||
end
|
||||
else
|
||||
begin
|
||||
JvNavPanelHeader.Caption := ATitulo;
|
||||
Caption := ATitulo;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.PrevisualizarInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.RefrescarInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.SetReadOnly(Value: Boolean);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
if ReadOnly then
|
||||
for i:=0 to Self.ComponentCount-1 do
|
||||
begin
|
||||
If Self.Components[i] Is TfrViewBase then
|
||||
(Self.Components[i] as TfrViewBase).ReadOnly := ReadOnly
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.Show;
|
||||
begin
|
||||
inherited Show;
|
||||
// Self.WindowState := wsNormal;
|
||||
// self.FormStyle := fsNormal;
|
||||
end;
|
||||
|
||||
procedure TfEditorBase.CreateParams(var params: TCreateParams);
|
||||
begin
|
||||
//No tocar, sirve para crear varios formularios hijos abiertos a la vez fuera de la aplicación principal
|
||||
inherited CreateParams( params );
|
||||
params.Style := params.Style and not WS_POPUP;
|
||||
params.ExStyle := params.ExStyle and not WS_EX_TOOLWINDOW or WS_EX_APPWINDOW;
|
||||
end;
|
||||
|
||||
function TfEditorBase.ShowModal: Integer;
|
||||
var
|
||||
ABorderIcons : TBorderIcons;
|
||||
begin
|
||||
ABorderIcons := Self.BorderIcons;
|
||||
Self.BorderIcons := Self.BorderIcons - [biMinimize];
|
||||
try
|
||||
Result := inherited ShowModal;
|
||||
finally
|
||||
Self.BorderIcons := ABorderIcons;
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterClass(TfEditorBase);
|
||||
|
||||
finalization
|
||||
UnRegisterClass(TfEditorBase);
|
||||
|
||||
end.
|
||||
18
Source/GUIBase/uEditorBasico.dfm
Normal file
18
Source/GUIBase/uEditorBasico.dfm
Normal file
@ -0,0 +1,18 @@
|
||||
object fEditorBasico: TfEditorBasico
|
||||
Left = 0
|
||||
Top = 0
|
||||
Caption = 'fEditorBasico'
|
||||
ClientHeight = 236
|
||||
ClientWidth = 383
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
InstanceID = 0
|
||||
ReadOnly = False
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
end
|
||||
26
Source/GUIBase/uEditorBasico.pas
Normal file
26
Source/GUIBase/uEditorBasico.pas
Normal file
@ -0,0 +1,26 @@
|
||||
unit uEditorBasico;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uGUIBase, uCustomEditor;
|
||||
|
||||
type
|
||||
IEditorBasico = interface(ICustomEditor)
|
||||
['{CE4B2B04-F8DA-4C96-B071-CC5792C14D51}']
|
||||
function ShowModal : Integer;
|
||||
end;
|
||||
|
||||
TfEditorBasico = class(TCustomEditor, IEditorBasico)
|
||||
end;
|
||||
|
||||
implementation
|
||||
{$R *.dfm}
|
||||
|
||||
initialization
|
||||
RegisterClass(TfEditorBasico);
|
||||
|
||||
finalization
|
||||
UnRegisterClass(TfEditorBasico);
|
||||
end.
|
||||
59
Source/GUIBase/uEditorDBBase.dfm
Normal file
59
Source/GUIBase/uEditorDBBase.dfm
Normal file
@ -0,0 +1,59 @@
|
||||
inherited fEditorDBBase: TfEditorDBBase
|
||||
Left = 295
|
||||
Top = 247
|
||||
Caption = 'fEditorDBBase'
|
||||
ClientHeight = 456
|
||||
ClientWidth = 648
|
||||
ExplicitWidth = 656
|
||||
ExplicitHeight = 490
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Width = 648
|
||||
ExplicitWidth = 648
|
||||
inherited Image1: TImage
|
||||
Left = 621
|
||||
ExplicitLeft = 625
|
||||
end
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Width = 648
|
||||
ExplicitWidth = 648
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 648
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
ExplicitWidth = 648
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TJvStatusBar
|
||||
Top = 437
|
||||
Width = 648
|
||||
ExplicitTop = 437
|
||||
ExplicitWidth = 648
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
inherited actPrevisualizar: TAction
|
||||
OnUpdate = actPrevisualizarUpdate
|
||||
end
|
||||
inherited actImprimir: TAction
|
||||
OnUpdate = actImprimirUpdate
|
||||
end
|
||||
inherited actRefrescar: TAction
|
||||
OnUpdate = actRefrescarUpdate
|
||||
end
|
||||
inherited actAnterior: TAction
|
||||
OnExecute = actAnteriorExecute
|
||||
OnUpdate = actAnteriorUpdate
|
||||
end
|
||||
inherited actSiguiente: TAction
|
||||
OnExecute = actSiguienteExecute
|
||||
OnUpdate = actSiguienteUpdate
|
||||
end
|
||||
end
|
||||
object dsDataTable: TDADataSource [7]
|
||||
OnDataChange = dsDataTableDataChange
|
||||
Left = 40
|
||||
Top = 88
|
||||
end
|
||||
end
|
||||
256
Source/GUIBase/uEditorDBBase.pas
Normal file
256
Source/GUIBase/uEditorDBBase.pas
Normal file
@ -0,0 +1,256 @@
|
||||
unit uEditorDBBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
uEditorItem, ImgList, PngImageList, StdActns, ActnList, TBX,
|
||||
TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent,
|
||||
JvNavigationPane, DB, uDADataTable, uEditorBase, JvFormAutoSize,
|
||||
uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView, uViewBase,
|
||||
JvAppStorage, JvAppRegistryStorage, JvFormPlacement,
|
||||
pngimage, ExtCtrls, dxLayoutLookAndFeels, JvComponentBase, TBXStatusBars,
|
||||
JvExComCtrls, JvStatusBar, uDAInterfaces;
|
||||
|
||||
type
|
||||
IEditorDBBase = interface(IEditorBase)
|
||||
['{1F5B318F-F700-4C78-ABCE-E2329AD876B8}']
|
||||
end;
|
||||
|
||||
TfEditorDBBase = class(TfEditorBase, IEditorDBBase)
|
||||
dsDataTable: TDADataSource;
|
||||
procedure actAnteriorExecute(Sender: TObject);
|
||||
procedure actSiguienteExecute(Sender: TObject);
|
||||
procedure actAnteriorUpdate(Sender: TObject);
|
||||
procedure actSiguienteUpdate(Sender: TObject);
|
||||
procedure actRefrescarUpdate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); virtual;
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actModificarUpdate(Sender: TObject);
|
||||
procedure actPrevisualizarUpdate(Sender: TObject);
|
||||
procedure actImprimirUpdate(Sender: TObject);
|
||||
procedure actGuardarUpdate(Sender: TObject);
|
||||
procedure actGuardarCerrarUpdate(Sender: TObject);
|
||||
procedure dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
protected
|
||||
function HayDatos: Boolean;
|
||||
function GetModified: Boolean; override;
|
||||
procedure RefrescarInterno; override;
|
||||
procedure CancelarCambiosInterno; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uDataTableUtils, cxControls, uCustomEditor;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
procedure TfEditorDBBase.actAnteriorExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(dsDataTable.DataTable) then
|
||||
begin
|
||||
if (not ModifiedQuery) then
|
||||
Exit;
|
||||
|
||||
dsDataTable.DataTable.Prior;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actSiguienteExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(dsDataTable.DataTable) then
|
||||
begin
|
||||
if (not ModifiedQuery) then
|
||||
Exit;
|
||||
|
||||
dsDataTable.DataTable.Next;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actAnteriorUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if HayDatos then
|
||||
(Sender as TAction).Enabled := not dsDataTable.DataTable.BOF
|
||||
else
|
||||
(Sender as TAction).Enabled := False;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actSiguienteUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if HayDatos then
|
||||
(Sender as TAction).Enabled := not dsDataTable.DataTable.EOF
|
||||
else
|
||||
(Sender as TAction).Enabled := False;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.CancelarCambiosInterno;
|
||||
var
|
||||
dtDetails : TList;
|
||||
i : integer;
|
||||
ABookmark : TBookmark;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
if Assigned(dsDataTable.DataTable) then
|
||||
begin
|
||||
ABookmark := dsDataTable.DataTable.GetBookMark;
|
||||
dsDataTable.DataTable.DisableControls;
|
||||
// dsDataTable.DataTable.DisableEventHandlers; <- No descomentar
|
||||
|
||||
ShowHourglassCursor;
|
||||
{ No lo pongo en try..finally para ver posibles errores }
|
||||
//try
|
||||
dsDataTable.DataTable.Cancel;
|
||||
|
||||
dtDetails := dsDataTable.DataTable.GetDetailDataTables;
|
||||
for i := 0 to dtDetails.Count - 1 do
|
||||
begin
|
||||
(TDADataTable(dtDetails.Items[i])).Cancel;
|
||||
end;
|
||||
|
||||
dsDataTable.DataTable.CancelUpdates;
|
||||
|
||||
{ Comprobar si el bookmark no es válido cuando estamos cancelando la
|
||||
inserción de una fila nueva.
|
||||
CUIDADO!! Si no es válido salta una excepción. NO devuelve false!!!}
|
||||
try
|
||||
if (Assigned(ABookmark)) and
|
||||
(dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark)) then
|
||||
dsDataTable.DataTable.GotoBookmark(ABookmark);
|
||||
except
|
||||
end;
|
||||
|
||||
//finally
|
||||
dsDataTable.DataTable.EnableControls;
|
||||
dsDataTable.DataTable.FreeBookmark(ABookmark);
|
||||
// dsDataTable.DataTable.EnableEventHandlers; <- No descomentar
|
||||
HideHourglassCursor
|
||||
//end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.dsDataTableDataChange(Sender: TObject; Field: TField);
|
||||
begin
|
||||
inherited;
|
||||
ActualizarEstadoEditor;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actRefrescarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if HayDatos then
|
||||
(Sender as TAction).Enabled := (not dsDataTable.DataTable.Fetching) and
|
||||
(not dsDataTable.DataTable.Opening) and
|
||||
(not dsDataTable.DataTable.Closing) and
|
||||
(dsDataTable.DataTable.State <> dsInsert)
|
||||
else
|
||||
(Sender as TAction).Enabled := False;
|
||||
|
||||
//MODO CONSULTAR ITEM
|
||||
if (Sender as TAction).Enabled
|
||||
and Assigned(dsDataTable.DataTable) then
|
||||
(Sender as TAction).Enabled := not dsDataTable.DataTable.ReadOnly;
|
||||
end;
|
||||
|
||||
function TfEditorDBBase.GetModified: Boolean;
|
||||
begin
|
||||
if ReadOnly then
|
||||
Result := False
|
||||
else
|
||||
Result := DataTableModified(dsDataTable.DataTable) or inherited GetModified;
|
||||
end;
|
||||
|
||||
function TfEditorDBBase.HayDatos: Boolean;
|
||||
begin
|
||||
Result := Assigned(dsDataTable.DataTable) and (dsDataTable.DataTable.State <> dsInactive)
|
||||
and (not dsDataTable.DataTable.IsEmpty);
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.RefrescarInterno;
|
||||
var
|
||||
ABookmark : TBookmark;
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(dsDataTable.DataTable) then
|
||||
begin
|
||||
if (dsDataTable.DataTable.IsEmpty) or (not ModifiedQuery) then
|
||||
Exit; // No continuar con el refresco
|
||||
|
||||
ABookmark := dsDataTable.DataTable.GetBookMark;
|
||||
dsDataTable.DataTable.DisableControls; //<- No descomentar
|
||||
|
||||
ShowHourglassCursor;
|
||||
try
|
||||
dsDataTable.DataTable.Refresh;
|
||||
|
||||
if dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark) then
|
||||
dsDataTable.DataTable.GotoBookmark(ABookmark);
|
||||
finally
|
||||
dsDataTable.DataTable.FreeBookmark(ABookmark);
|
||||
dsDataTable.DataTable.EnableControls; //<- No descomentar
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
begin
|
||||
{ Para resetear el estado de la tabla en el caso de hacer un insert
|
||||
sin meter ningún dato. }
|
||||
if Assigned(dsDataTable.DataTable) and (not Modified) then
|
||||
dsDataTable.DataTable.Cancel;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := HayDatos and (dsDataTable.DataTable.State <> dsInsert)
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actGuardarCerrarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := HayDatos;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actGuardarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := HayDatos;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actModificarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if (Sender as TAction).Enabled then
|
||||
(Sender as TAction).Enabled := HayDatos;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actPrevisualizarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := HayDatos;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBBase.actImprimirUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := HayDatos;
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterClass(TfEditorDBBase);
|
||||
|
||||
finalization
|
||||
UnRegisterClass(TfEditorDBBase);
|
||||
|
||||
end.
|
||||
103
Source/GUIBase/uEditorDBItem.dfm
Normal file
103
Source/GUIBase/uEditorDBItem.dfm
Normal file
@ -0,0 +1,103 @@
|
||||
inherited fEditorDBItem: TfEditorDBItem
|
||||
Left = 450
|
||||
Top = 321
|
||||
Caption = 'fEditorDBItem'
|
||||
ClientHeight = 461
|
||||
ClientWidth = 652
|
||||
ExplicitWidth = 660
|
||||
ExplicitHeight = 495
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Width = 652
|
||||
ExplicitWidth = 652
|
||||
inherited Image1: TImage
|
||||
Left = 625
|
||||
ExplicitLeft = 627
|
||||
ExplicitHeight = 19
|
||||
end
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Width = 652
|
||||
ExplicitWidth = 652
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 605
|
||||
inherited TBXItem26: TTBXItem
|
||||
Visible = False
|
||||
end
|
||||
inherited TBXItem25: TTBXItem
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
ExplicitWidth = 652
|
||||
inherited TBXSubmenuItem1: TTBXSubmenuItem
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object pgPaginas: TPageControl [2]
|
||||
Left = 0
|
||||
Top = 76
|
||||
Width = 652
|
||||
Height = 366
|
||||
ActivePage = pagGeneral
|
||||
Align = alClient
|
||||
TabOrder = 2
|
||||
object pagGeneral: TTabSheet
|
||||
Caption = 'General'
|
||||
ExplicitLeft = 0
|
||||
ExplicitTop = 0
|
||||
ExplicitWidth = 0
|
||||
ExplicitHeight = 0
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TJvStatusBar
|
||||
Top = 442
|
||||
Width = 652
|
||||
Panels = <
|
||||
item
|
||||
Width = 200
|
||||
Control = imgStatus
|
||||
end>
|
||||
ExplicitTop = 442
|
||||
ExplicitWidth = 652
|
||||
object imgStatus: TImage
|
||||
Left = 3
|
||||
Top = 3
|
||||
Width = 16
|
||||
Height = 16
|
||||
AutoSize = True
|
||||
Picture.Data = {
|
||||
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001000
|
||||
00001008060000001FF3FF61000001E24944415478DAA5932B93DB3014858F99
|
||||
59C46A669599456561166B59DD5F50C342E717C461652B58A8658182810A0BAB
|
||||
C35C26B394C92C8BDC6BB99BCD63A7339DB547638D1EDF3DE7488EF0C627BA1D
|
||||
70466896303FE352747B9DA78B62D77B677DEBA0AC342C663F9D77F0473F2E7F
|
||||
7F0718DAA2EE9C5BA58B125DD320150204024BF85A6DC44A4A097FF27004ACEB
|
||||
BABB071C6B8B98E588057AEF31630C3835D4FC6EF9DDE76221D0EC1B789A33C6
|
||||
F491327EC009449D5AC90455A3969598BD93E87F5BF85613802A6A01216F011B
|
||||
3FB06416AA8F80823F224DC8DF8D82CE3394A5DE0921F271F39881D99A750084
|
||||
3882020F9158C85891F7029405D26CCAC0C52579364BCEF9C3B86E54E19CFB10
|
||||
996D337CFE389F027802BA760D465567F1D837002FC0E875270E91C988677CE0
|
||||
0987B5B6A71DEC0C38FCEA820A9EA5B0FB43E0896C8EF2DB12D6A8CBB02B3A89
|
||||
07022CA9AFCE80FEE9EFF469FA3CDB7A0500B23190FC3016E9AD1DBECA1C87B6
|
||||
0B210A5260ECA4402E5E5500BA4C15E5A02680B143F1293F57F7972AE85B55D7
|
||||
80AAAA6A02ACD40FF5854EC3447A4380220FBEC70D52CC5F32A0FE2D806EDF28
|
||||
1F5AEB202052DA0E65915FF97E51D113A0BE02D009D4EEE856D49D4254DA0C7A
|
||||
63465FCF88A0E4C2EF5D06FFFC1BFFF7F903DDDC21F8890148C2000000004945
|
||||
4E44AE426082}
|
||||
Transparent = True
|
||||
end
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
Top = 112
|
||||
inherited actEliminar: TAction
|
||||
ShortCut = 0
|
||||
end
|
||||
end
|
||||
inherited dsDataTable: TDADataSource
|
||||
Left = 48
|
||||
Top = 112
|
||||
end
|
||||
end
|
||||
93
Source/GUIBase/uEditorDBItem.pas
Normal file
93
Source/GUIBase/uEditorDBItem.pas
Normal file
@ -0,0 +1,93 @@
|
||||
unit uEditorDBItem;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
uEditorItem, ImgList, PngImageList, StdActns, ActnList, TBX,
|
||||
TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent,
|
||||
JvNavigationPane, DB, uDADataTable, uEditorDBBase, JvFormAutoSize,
|
||||
StdCtrls, uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView,
|
||||
uViewBase, JvAppStorage, JvAppRegistryStorage,
|
||||
JvFormPlacement, pngimage, ExtCtrls, JvComponentBase, dxLayoutLookAndFeels,
|
||||
JvExComCtrls, JvStatusBar, uDAInterfaces;
|
||||
|
||||
type
|
||||
IEditorDBItem = interface(IEditorDBBase)
|
||||
['{497AE4CE-D061-4F75-A29A-320F8565FF54}']
|
||||
end;
|
||||
|
||||
TfEditorDBItem = class(TfEditorDBBase, IEditorDBItem)
|
||||
pgPaginas: TPageControl;
|
||||
pagGeneral: TTabSheet;
|
||||
imgStatus: TImage;
|
||||
protected
|
||||
procedure EliminarInterno; override;
|
||||
procedure PrevisualizarInterno; override;
|
||||
procedure ImprimirInterno; override;
|
||||
procedure ActualizarEstadoEditor; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uEditorBase, uDialogUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
procedure TfEditorDBItem.ActualizarEstadoEditor;
|
||||
begin
|
||||
inherited;
|
||||
if HayDatos then
|
||||
begin
|
||||
if (Self.Modified) and (dsDataTable.DataTable.State <> dsInsert) then
|
||||
begin
|
||||
StatusBar.Panels[0].Text := ' Se han producido cambios';
|
||||
imgStatus.Visible := True;
|
||||
end
|
||||
else begin
|
||||
imgStatus.Visible := False;
|
||||
StatusBar.Panels[0].Text := '';
|
||||
end
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBItem.EliminarInterno;
|
||||
begin
|
||||
inherited;
|
||||
actCerrar.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBItem.ImprimirInterno;
|
||||
begin
|
||||
inherited;
|
||||
if Modified then
|
||||
begin
|
||||
if (ShowConfirmMessage('Se han producido cambios', 'Se han producido cambios y no se puede imprimir hasta que no se guarden.' + #10#13 +
|
||||
'¿Desea guardarlos ahora?') = IDYES) then
|
||||
actGuardar.Execute
|
||||
else
|
||||
ShowInfoMessage('Recuerde guardar los cambios si quiere previsualizar o imprimir.');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorDBItem.PrevisualizarInterno;
|
||||
begin
|
||||
inherited;
|
||||
if Modified then
|
||||
begin
|
||||
if (ShowConfirmMessage('Se han producido cambios', 'Se han producido cambios y no se puede previsualizar hasta que no se guarden.' + #10#13 +
|
||||
'¿Desea guardarlos ahora?') = IDYES) then
|
||||
actGuardar.Execute
|
||||
else
|
||||
ShowInfoMessage('Recuerde guardar los cambios si quiere previsualizar o imprimir.');
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterClass(TfEditorDBItem);
|
||||
|
||||
finalization
|
||||
UnRegisterClass(TfEditorDBItem);
|
||||
|
||||
end.
|
||||
1566
Source/GUIBase/uEditorGridBase.dfm
Normal file
1566
Source/GUIBase/uEditorGridBase.dfm
Normal file
File diff suppressed because it is too large
Load Diff
319
Source/GUIBase/uEditorGridBase.pas
Normal file
319
Source/GUIBase/uEditorGridBase.pas
Normal file
@ -0,0 +1,319 @@
|
||||
{*******************************************************}
|
||||
{ }
|
||||
{ Administración de puntos de venta }
|
||||
{ }
|
||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
||||
{ }
|
||||
{*******************************************************}
|
||||
|
||||
unit uEditorGridBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
|
||||
JvNavigationPane, ActnList, TB2Dock, TB2Toolbar, TBX, TB2Item,
|
||||
ImgList, PngImageList, StdActns, TB2ExtItems, TBXExtItems, uViewGridBase,
|
||||
uEditorDBBase, DB, uDADataTable, Menus, JvFormAutoSize,
|
||||
uDAScriptingProvider, uDACDSDataTable, AppEvnts, JvAppStorage,
|
||||
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls,
|
||||
JvComponentBase, dxLayoutLookAndFeels, TBXStatusBars, JvExComCtrls,
|
||||
JvStatusBar, uDAInterfaces;
|
||||
|
||||
type
|
||||
IEditorGridBase = interface(IEditorDBBase)
|
||||
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
|
||||
|
||||
procedure SetMultiSelect (AValue : Boolean);
|
||||
function GetMultiSelect : Boolean;
|
||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
||||
end;
|
||||
|
||||
TfEditorGridBase = class(TfEditorDBBase, IEditorGridBase)
|
||||
tbxEditFiltro: TTBXEditItem;
|
||||
tbxFiltro: TTBXToolbar;
|
||||
GridPopupMenu: TPopupMenu;
|
||||
Modificar1: TMenuItem;
|
||||
Eliminar1: TMenuItem;
|
||||
N1: TMenuItem;
|
||||
Nuevo1: TMenuItem;
|
||||
TBXLabelItem1: TTBXLabelItem;
|
||||
actQuitarFiltro: TAction;
|
||||
N2: TMenuItem;
|
||||
Previsualizar1: TMenuItem;
|
||||
Imprimir1: TMenuItem;
|
||||
TBXSeparatorItem14: TTBXSeparatorItem;
|
||||
TBXItem33: TTBXItem;
|
||||
N3: TMenuItem;
|
||||
Actualizar1: TMenuItem;
|
||||
TBXItem34: TTBXItem;
|
||||
actAnchoAuto: TAction;
|
||||
TBXSeparatorItem16: TTBXSeparatorItem;
|
||||
TBXItem35: TTBXItem;
|
||||
TBXItem36: TTBXItem;
|
||||
TBXSeparatorItem6: TTBXSeparatorItem;
|
||||
TBXItem7: TTBXItem;
|
||||
actFiltrar: TAction;
|
||||
TBXItem37: TTBXItem;
|
||||
TBXTMain2: TTBXToolbar;
|
||||
procedure tbxEditFiltroChange(Sender: TObject; const Text: String);
|
||||
procedure FormShow(Sender: TObject); override;
|
||||
procedure actQuitarFiltroExecute(Sender: TObject);
|
||||
procedure actDuplicarUpdate(Sender: TObject);
|
||||
procedure JvFormStorageSavePlacement(Sender: TObject);
|
||||
procedure JvFormStorageRestorePlacement(Sender: TObject);
|
||||
procedure actModificarUpdate(Sender: TObject);
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actNuevoUpdate(Sender: TObject);
|
||||
procedure actAnchoAutoExecute(Sender: TObject);
|
||||
procedure actRefrescarUpdate(Sender: TObject);
|
||||
procedure actFiltrarExecute(Sender: TObject);
|
||||
procedure actFiltrarUpdate(Sender: TObject);
|
||||
protected
|
||||
FViewGrid : IViewGridBase;
|
||||
procedure SetViewGrid(const Value : IViewGridBase); virtual;
|
||||
function GetViewGrid: IViewGridBase;
|
||||
procedure SetMultiSelect (AValue : Boolean);
|
||||
function GetMultiSelect : Boolean;
|
||||
|
||||
procedure PrevisualizarInterno; override;
|
||||
procedure ConfPaginaInterno; override;
|
||||
procedure ImprimirInterno; override;
|
||||
procedure RefrescarInterno; override;
|
||||
public
|
||||
property ViewGrid: IViewGridBase read GetViewGrid write SetViewGrid;
|
||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
||||
|
||||
constructor Create(AOwner : TComponent); override;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uDataModuleBase, uCustomEditor, cxGridTableView, cxControls;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{
|
||||
********************************* TfEditorGridBase *****************************
|
||||
}
|
||||
destructor TfEditorGridBase.Destroy;
|
||||
begin
|
||||
FViewGrid := NIL;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TfEditorGridBase.GetMultiSelect: Boolean;
|
||||
begin
|
||||
Result := False;
|
||||
if Assigned(ViewGrid) then
|
||||
Result := ViewGrid.MultiSelect;
|
||||
end;
|
||||
|
||||
function TfEditorGridBase.GetViewGrid: IViewGridBase;
|
||||
begin
|
||||
Result := FViewGrid;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.ImprimirInterno;
|
||||
begin
|
||||
inherited;
|
||||
ViewGrid.Print;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.SetMultiSelect(AValue: Boolean);
|
||||
begin
|
||||
if Assigned(ViewGrid) then
|
||||
ViewGrid.MultiSelect := AValue;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.SetViewGrid(const Value: IViewGridBase);
|
||||
begin
|
||||
FViewGrid := Value;
|
||||
if Assigned(FViewGrid) then
|
||||
begin
|
||||
FViewGrid.PopupMenu := GridPopupMenu;
|
||||
FViewGrid.OnDblClick := actModificar.OnExecute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.tbxEditFiltroChange(Sender: TObject; const Text: String);
|
||||
begin
|
||||
if Assigned(ViewGrid) then
|
||||
begin
|
||||
if Length(Text) > 0 then
|
||||
ViewGrid.Filter := Text
|
||||
else
|
||||
actQuitarFiltro.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(ViewGrid) then
|
||||
ViewGrid.ShowEmbedded(Self);
|
||||
|
||||
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if HayDatos and Assigned(ViewGrid) then
|
||||
(Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes)
|
||||
and not ViewGrid.IsEmpty
|
||||
and ViewGrid.esSeleccionCeldaDatos
|
||||
else
|
||||
(Sender as TAction).Enabled := False;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actFiltrarExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(ViewGrid) then
|
||||
ViewGrid.ViewFiltros.VerFiltros := not ViewGrid.ViewFiltros.VerFiltros;
|
||||
|
||||
if Assigned(ViewGrid) then
|
||||
if ViewGrid.ViewFiltros.VerFiltros then
|
||||
begin
|
||||
tbxEditFiltro.Visible := False;
|
||||
TBXItem7.Visible := False;
|
||||
end
|
||||
else
|
||||
begin
|
||||
tbxEditFiltro.Text := '';
|
||||
tbxEditFiltro.Visible := True;
|
||||
TBXItem7.Visible := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actFiltrarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(ViewGrid) then
|
||||
(Sender as TAction).Checked := ViewGrid.ViewFiltros.VerFiltros;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actModificarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if HayDatos and Assigned(ViewGrid) then
|
||||
(Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes)
|
||||
and not ViewGrid.IsEmpty
|
||||
and ViewGrid.esSeleccionCeldaDatos
|
||||
else
|
||||
(Sender as TAction).Enabled := False;
|
||||
|
||||
//En el caso de que el grid sea multiselección solo se podrá modificar si solo se tiene un elemento seleccionado
|
||||
if (Sender as TAction).Enabled then
|
||||
if MultiSelect and Assigned(ViewGrid) then
|
||||
(Sender as TAction).Enabled := (ViewGrid.NumSeleccionados = 1);
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actNuevoUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := Assigned(dsDataTable.DataTable);
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actQuitarFiltroExecute(Sender: TObject);
|
||||
begin
|
||||
if Assigned(ViewGrid) then
|
||||
begin
|
||||
tbxEditFiltro.Text := '';
|
||||
ViewGrid.Filter := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actRefrescarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := Assigned(dsDataTable.DataTable);
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.ConfPaginaInterno;
|
||||
begin
|
||||
inherited;
|
||||
ViewGrid.PrintSetup;
|
||||
end;
|
||||
|
||||
constructor TfEditorGridBase.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
actModificar.ShortCut := ShortCut(VK_RETURN, []);
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actAnchoAutoExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(ViewGrid) then
|
||||
ViewGrid.AjustarAncho;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.actDuplicarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if HayDatos and Assigned(ViewGrid) then
|
||||
(Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes)
|
||||
and not ViewGrid.IsEmpty
|
||||
and ViewGrid.esSeleccionCeldaDatos
|
||||
else
|
||||
(Sender as TAction).Enabled := False;
|
||||
|
||||
//En el caso de que el grid sea multiselección solo se podrá modificar si solo se tiene un elemento seleccionado
|
||||
if (Sender as TAction).Enabled then
|
||||
if MultiSelect and Assigned(ViewGrid) then
|
||||
(Sender as TAction).Enabled := (ViewGrid.NumSeleccionados = 1);
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.JvFormStorageSavePlacement(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(ViewGrid) then
|
||||
ViewGrid.StoreToRegistry(JvAppRegistryStorage.Root);
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.PrevisualizarInterno;
|
||||
begin
|
||||
inherited;
|
||||
ViewGrid.Preview;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.RefrescarInterno;
|
||||
var
|
||||
FocusedRow, TopRow : Integer;
|
||||
begin
|
||||
TopRow := ViewGrid._FocusedView.Controller.TopRowIndex;
|
||||
FocusedRow := ViewGrid._FocusedView.DataController.FocusedRowIndex;
|
||||
ViewGrid._FocusedView.BeginUpdate;
|
||||
ShowHourglassCursor;
|
||||
|
||||
try
|
||||
// inherited; <- No hacemos lo que hay en el padre
|
||||
dsDataTable.DataTable.Refresh;
|
||||
finally
|
||||
ViewGrid._FocusedView.EndUpdate;
|
||||
ViewGrid._FocusedView.DataController.FocusedRowIndex := FocusedRow;
|
||||
ViewGrid._FocusedView.Controller.TopRowIndex := TopRow;
|
||||
HideHourglassCursor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorGridBase.JvFormStorageRestorePlacement(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(ViewGrid) then
|
||||
ViewGrid.RestoreFromRegistry(JvAppRegistryStorage.Root);
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterClass(TfEditorGridBase);
|
||||
|
||||
finalization
|
||||
UnRegisterClass(TfEditorGridBase);
|
||||
|
||||
end.
|
||||
|
||||
62
Source/GUIBase/uEditorItem.dfm
Normal file
62
Source/GUIBase/uEditorItem.dfm
Normal file
@ -0,0 +1,62 @@
|
||||
inherited fEditorItem: TfEditorItem
|
||||
Left = 423
|
||||
Top = 273
|
||||
Caption = 'fEditorItem'
|
||||
ClientHeight = 501
|
||||
ClientWidth = 678
|
||||
ExplicitWidth = 686
|
||||
ExplicitHeight = 535
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Width = 678
|
||||
Visible = False
|
||||
ExplicitWidth = 678
|
||||
inherited Image1: TImage
|
||||
Left = 651
|
||||
ExplicitLeft = 651
|
||||
end
|
||||
end
|
||||
object pgPaginas: TPageControl [1]
|
||||
Left = 0
|
||||
Top = 76
|
||||
Width = 678
|
||||
Height = 406
|
||||
ActivePage = pagGeneral
|
||||
Align = alClient
|
||||
TabOrder = 1
|
||||
object pagGeneral: TTabSheet
|
||||
Caption = 'General'
|
||||
end
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Width = 678
|
||||
ExplicitWidth = 678
|
||||
inherited tbxMain: TTBXToolbar
|
||||
ExplicitWidth = 575
|
||||
inherited TBXItem5: TTBXItem
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
ExplicitWidth = 678
|
||||
inherited TBXSubmenuItem4: TTBXSubmenuItem
|
||||
inherited TBXItem10: TTBXItem
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TJvStatusBar
|
||||
Top = 482
|
||||
Width = 678
|
||||
ExplicitTop = 482
|
||||
ExplicitWidth = 678
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
Top = 104
|
||||
inherited actEliminar: TAction
|
||||
ShortCut = 0
|
||||
end
|
||||
end
|
||||
end
|
||||
39
Source/GUIBase/uEditorItem.pas
Normal file
39
Source/GUIBase/uEditorItem.pas
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
unit uEditorItem;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorBase, ActnList, JvExControls, JvComponent,
|
||||
JvNavigationPane, ComCtrls, StdActns, TB2Dock, TB2Toolbar, TBX, TB2Item,
|
||||
ImgList, PngImageList, JvFormAutoSize, JvAppStorage,
|
||||
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls,
|
||||
JvComponentBase, dxLayoutLookAndFeels, TBXStatusBars, JvExComCtrls,
|
||||
JvStatusBar;
|
||||
|
||||
type
|
||||
IEditorItem = interface(IEditorBase)
|
||||
['{F6A412D1-59AA-41D2-ADD5-C92687CD5387}']
|
||||
end;
|
||||
|
||||
TfEditorItem = class(TfEditorBase, IEditorItem)
|
||||
pagGeneral: TTabSheet;
|
||||
pgPaginas: TPageControl;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses uDataModuleBase;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
initialization
|
||||
RegisterClass(TfEditorItem);
|
||||
|
||||
finalization
|
||||
|
||||
UnRegisterClass(TfEditorItem);
|
||||
|
||||
|
||||
end.
|
||||
15
Source/GUIBase/uEditorPSPreview.dfm
Normal file
15
Source/GUIBase/uEditorPSPreview.dfm
Normal file
@ -0,0 +1,15 @@
|
||||
object Form1: TForm1
|
||||
Left = 580
|
||||
Top = 506
|
||||
Width = 320
|
||||
Height = 240
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
OldCreateOrder = True
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
end
|
||||
24
Source/GUIBase/uEditorPSPreview.pas
Normal file
24
Source/GUIBase/uEditorPSPreview.pas
Normal file
@ -0,0 +1,24 @@
|
||||
unit uEditorPSPreview;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, dxPSPrVw;
|
||||
|
||||
type
|
||||
TForm1 = class(TCustomdxPSPreviewWindow)
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
Form1: TForm1;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
end.
|
||||
938
Source/GUIBase/uEditorPreview.dfm
Normal file
938
Source/GUIBase/uEditorPreview.dfm
Normal file
@ -0,0 +1,938 @@
|
||||
inherited fEditorPreview: TfEditorPreview
|
||||
Left = 521
|
||||
Top = 340
|
||||
Caption = 'Previsualizar'
|
||||
WindowState = wsMaximized
|
||||
OnDestroy = FormDestroy
|
||||
OnResize = FormResize
|
||||
ExplicitWidth = 658
|
||||
ExplicitHeight = 492
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
inherited JvNavPanelHeader: TJvNavPanelHeader
|
||||
Top = 75
|
||||
Visible = False
|
||||
ExplicitTop = 75
|
||||
ExplicitWidth = 650
|
||||
inherited Image1: TImage
|
||||
Left = 623
|
||||
ExplicitLeft = 623
|
||||
end
|
||||
end
|
||||
inherited TBXDock: TTBXDock
|
||||
Height = 75
|
||||
ExplicitHeight = 75
|
||||
inherited tbxMain: TTBXToolbar
|
||||
Top = 49
|
||||
DefaultDock = TBXDock
|
||||
Visible = False
|
||||
ExplicitTop = 49
|
||||
ExplicitWidth = 248
|
||||
end
|
||||
inherited tbxMenu: TTBXToolbar
|
||||
DockPos = -24
|
||||
inherited TBXSubmenuItem5: TTBXSubmenuItem
|
||||
Visible = False
|
||||
end
|
||||
inherited TBXSubmenuItem1: TTBXSubmenuItem
|
||||
Visible = False
|
||||
end
|
||||
object TBXSubmenuItem2: TTBXSubmenuItem [3]
|
||||
Caption = '&Ir'
|
||||
object TBXItem47: TTBXItem
|
||||
Action = actPrimeraPagina
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem43: TTBXItem
|
||||
Action = actPaginaAnterior
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem44: TTBXItem
|
||||
Action = actPaginaSiguiente
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem45: TTBXItem
|
||||
Action = actUltimaPagina
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
end
|
||||
inherited TBXSubmenuItem6: TTBXSubmenuItem
|
||||
Caption = '&Zoom'
|
||||
inherited TBXItem18: TTBXItem
|
||||
Action = actZoomIn
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem38: TTBXItem
|
||||
Action = actZoomOut
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXSeparatorItem19: TTBXSeparatorItem
|
||||
end
|
||||
object TBXItem48: TTBXItem
|
||||
Action = actAnchoPagina
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem46: TTBXItem
|
||||
Action = actTodaPagina
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
end
|
||||
object TBXSubmenuItem3: TTBXSubmenuItem [5]
|
||||
Caption = '&Herramientas'
|
||||
object TBXItem49: TTBXItem
|
||||
Action = actToolHand
|
||||
Checked = True
|
||||
GroupIndex = 1
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem50: TTBXItem
|
||||
Action = actToolZoom
|
||||
GroupIndex = 1
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
end
|
||||
end
|
||||
object TBXToolbar1: TTBXToolbar
|
||||
Left = 0
|
||||
Top = 23
|
||||
Caption = 'TBXToolbar1'
|
||||
DefaultDock = TBXDock
|
||||
DragHandleStyle = dhNone
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 2
|
||||
object TBXItem39: TTBXItem
|
||||
Action = actImprimir
|
||||
DisplayMode = nbdmImageAndText
|
||||
Images = SmallImages
|
||||
end
|
||||
object TBXSeparatorItem18: TTBXSeparatorItem
|
||||
end
|
||||
object tbxMano: TTBXItem
|
||||
Action = actToolHand
|
||||
Checked = True
|
||||
DisplayMode = nbdmImageAndText
|
||||
GroupIndex = 1
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object tbxZoom: TTBXItem
|
||||
Action = actToolZoom
|
||||
DisplayMode = nbdmImageAndText
|
||||
GroupIndex = 1
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem42: TTBXItem
|
||||
Action = actTodaPagina
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem41: TTBXItem
|
||||
Action = actAnchoPagina
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem40: TTBXItem
|
||||
Action = actZoomOut
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object cbZoom: TTBXComboBoxItem
|
||||
Caption = 'Zoom'
|
||||
ReadOnly = True
|
||||
OnItemClick = cbZoomItemClick
|
||||
end
|
||||
object TBXItem37: TTBXItem
|
||||
Action = actZoomIn
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXSeparatorItem17: TTBXSeparatorItem
|
||||
end
|
||||
object TBXItem7: TTBXItem
|
||||
Action = actPrimeraPagina
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem34: TTBXItem
|
||||
Action = actPaginaAnterior
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem33: TTBXItem
|
||||
Action = actPaginaSiguiente
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXItem36: TTBXItem
|
||||
Action = actUltimaPagina
|
||||
Images = PreviewSmallImageList
|
||||
end
|
||||
object TBXSeparatorItem16: TTBXSeparatorItem
|
||||
end
|
||||
object TBXItem35: TTBXItem
|
||||
Action = actCerrar
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited StatusBar: TJvStatusBar
|
||||
Panels = <
|
||||
item
|
||||
Width = 150
|
||||
end
|
||||
item
|
||||
Width = 50
|
||||
end>
|
||||
ExplicitWidth = 650
|
||||
end
|
||||
inherited EditorActionList: TActionList
|
||||
Top = 104
|
||||
inherited actNuevo: TAction
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actModificar: TAction
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actGuardarCerrar: TAction
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actGuardar: TAction
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actEliminar: TAction
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actConfPagina: TAction
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actPrevisualizar: TAction
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actDeshacer: TEditUndo
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actCortar: TEditCut
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actCopiar: TEditCopy
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actPegar: TEditPaste
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actSeleccionarTodo: TEditSelectAll
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actLimpiar: TEditDelete
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actBuscar: TAction
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
inherited actCancelarCambios: TAction
|
||||
Enabled = False
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
inherited SmallImages: TPngImageList
|
||||
Left = 43
|
||||
Top = 104
|
||||
end
|
||||
inherited LargeImages: TPngImageList
|
||||
Left = 75
|
||||
Top = 104
|
||||
end
|
||||
inherited JvFormStorage: TJvFormStorage
|
||||
Left = 376
|
||||
Top = 136
|
||||
end
|
||||
inherited JvAppRegistryStorage: TJvAppRegistryStorage
|
||||
Left = 408
|
||||
Top = 136
|
||||
end
|
||||
object PreviewActionList: TActionList
|
||||
Images = PreviewSmallImageList
|
||||
Left = 344
|
||||
Top = 104
|
||||
object actPrimeraPagina: TAction
|
||||
Category = 'Ver'
|
||||
Caption = 'Primera p'#225'gina'
|
||||
ImageIndex = 0
|
||||
OnExecute = actPrimeraPaginaExecute
|
||||
OnUpdate = actPrimeraPaginaUpdate
|
||||
end
|
||||
object actUltimaPagina: TAction
|
||||
Category = 'Ver'
|
||||
Caption = #218'ltima p'#225'gina'
|
||||
ImageIndex = 3
|
||||
OnExecute = actUltimaPaginaExecute
|
||||
OnUpdate = actUltimaPaginaUpdate
|
||||
end
|
||||
object actPaginaAnterior: TAction
|
||||
Category = 'Ver'
|
||||
Caption = 'P'#225'gina anterior'
|
||||
ImageIndex = 1
|
||||
OnExecute = actPaginaAnteriorExecute
|
||||
OnUpdate = actPaginaAnteriorUpdate
|
||||
end
|
||||
object actPaginaSiguiente: TAction
|
||||
Category = 'Ver'
|
||||
Caption = 'P'#225'gina siguiente'
|
||||
ImageIndex = 2
|
||||
OnExecute = actPaginaSiguienteExecute
|
||||
OnUpdate = actPaginaSiguienteUpdate
|
||||
end
|
||||
object actZoomIn: TAction
|
||||
Category = 'Ver'
|
||||
Caption = 'M'#225's zoom'
|
||||
ImageIndex = 8
|
||||
OnExecute = actZoomInExecute
|
||||
end
|
||||
object actZoomOut: TAction
|
||||
Category = 'Ver'
|
||||
Caption = 'Menos zoom'
|
||||
ImageIndex = 9
|
||||
OnExecute = actZoomOutExecute
|
||||
end
|
||||
object actTodaPagina: TAction
|
||||
Category = 'Ver'
|
||||
Caption = 'Toda la p'#225'gina'
|
||||
GroupIndex = 1
|
||||
ImageIndex = 4
|
||||
OnExecute = actTodaPaginaExecute
|
||||
end
|
||||
object actAnchoPagina: TAction
|
||||
Category = 'Ver'
|
||||
Caption = 'Ancho de p'#225'gina'
|
||||
GroupIndex = 1
|
||||
ImageIndex = 5
|
||||
OnExecute = actAnchoPaginaExecute
|
||||
end
|
||||
object actToolHand: TAction
|
||||
Category = 'Herramientas'
|
||||
AutoCheck = True
|
||||
Caption = 'Mano'
|
||||
GroupIndex = 1
|
||||
ImageIndex = 10
|
||||
OnExecute = actToolHandExecute
|
||||
end
|
||||
object actToolZoom: TAction
|
||||
Category = 'Herramientas'
|
||||
AutoCheck = True
|
||||
Caption = 'Zoom'
|
||||
GroupIndex = 1
|
||||
ImageIndex = 6
|
||||
OnExecute = actToolZoomExecute
|
||||
end
|
||||
end
|
||||
object PreviewSmallImageList: TPngImageList
|
||||
PngImages = <
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000F14944415478DA
|
||||
C5D2A10EC2301006E01B4F30893C39C59619EC70937B843D014C829B0339DEA0
|
||||
1289638EC9C9E1160C9553A43882A0B45DC80223A30112CE346DFA7F697A6770
|
||||
CEE19B327E0A8C663BB5A14506348D8CE7CBDEB4E0DBB96D7402518010C5A405
|
||||
C8B0840F9B493710FA08F1E21190E1D0B7C5F9F23D10780849D200F7705102AC
|
||||
D73A8023005203F73065A08022D3003C0B81AC08A0E3810C33115600156BAE01
|
||||
3888E2A9F50BDC71CE07EE105875025A01B09268007D01A4CD1F48E4DAB3809D
|
||||
657F35001440963E764122C78BA50798268ACF6ACF8142F6F97B400E8B9AC617
|
||||
93887EC23B814FEAFFC00D0E3CD3E1153EE1F30000000049454E44AE426082}
|
||||
Name = 'PngImage1'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000A34944415478DA
|
||||
63FCFFFF3F032580912606303232628839545CF8BFBF5D9F912C03409A1F5C38
|
||||
C0707F7B3EE90680342778E83334744C24DD0098E60B371818366C20D10098E6
|
||||
071F18C0065C384082018E9517C19A3F0035830D7800A44F90E802A3BC13FFF5
|
||||
8CCC193EBCF8C8F0E00503C3871B0B480F039021FF9834183EFC00721E906100
|
||||
CC9077BF34C837006EC8AD13E41B00020A1E13FE136D002960E00D000045F48A
|
||||
E13771044B0000000049454E44AE426082}
|
||||
Name = 'PngImage0'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000A44944415478DA
|
||||
63FCFFFF3F03258091260638565EFC7FA0C380115D1C9B5A9C067CFAF683E1DC
|
||||
240B46B20D48F0D06798B4EE248A21241BF0E10703C3A26D0843483220C0419F
|
||||
E1C10706860F407CE91AC410920C70B0506078F0829FE1C2838F0C1F1E3C009A
|
||||
7480E1FEF67C46A20D30D0506038708301AEF9C18E02D25C202020C070E1C207
|
||||
B86692C3800118800F6E2034936CC0830BA89A493680A294480A18780300CF22
|
||||
A8E18A4EF6A30000000049454E44AE426082}
|
||||
Name = 'PngImage3'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000EC4944415478DA
|
||||
C5D2A10EC2301405D0DB2FA012F9246E95C8E290FB04FE8049703890842F5850
|
||||
2882021CB5185210044725B220086E74908D40C252020937A97BF7A479792C49
|
||||
127C13F673A0D65E27AA27D8EBA06CE97C70D10D5821703A5FB01A54D92B1085
|
||||
84A813633F6B16038D7A80C178F984A440A34EE8F43C017B0186D3079202A124
|
||||
F4FB1E402803180B58F736DB3B72038403620F405609E65082364758639CA440
|
||||
42425608F1C803106E50ED9097CD3CBAFD40106132F10038E7D0DAE6E56C07A2
|
||||
EC80B90700B740B37B9433801CA07C00A39FCB19C039412B0FE0DD25A6709A42
|
||||
E0D3FC1FB8020318D0E1923D9C4B0000000049454E44AE426082}
|
||||
Name = 'PngImage2'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD2520000017E4944415478DA
|
||||
630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
|
||||
9F7F2138C9268F01C58073FBBF113444C9EA0B58F38469B3192E2DBB8C69404E
|
||||
AC07568DBFFE303058F86431D44EB264F8053460DACC25B80DA89FBC1FC38092
|
||||
144706FBC02C86F27E03B00BE6CE594B9C0B4036FFFC0DA15D43B31872BB95C0
|
||||
062C5FB09B341764C4383278476631A4754882BDB076F111FC2E40B619860363
|
||||
B318125A05187E026362CBD2B3A4B92036D491212C218B21B2999DE1C7DF6F0C
|
||||
7B565CC76E4072B807D8E6BFFF1036FFFE0BA16352B218021BFE82C3E0F0EA07
|
||||
080372FC3218FEFEFFCD70E5D07F8698200F86FE79982E08F4756448CAC862F0
|
||||
AA05A5836F0CA7D6BD421890E6130F36F5DE311E86303F0F145B616C1048C9CC
|
||||
6270AE7A05567B71E3678401F19E6160C1A7274519E62DDD843725DA943F04BB
|
||||
E0C696BF080322DC7CC151034BE390F4FE0DCA47D07FFEFF01D37F81F4EDAD8C
|
||||
0803829C5DC04993540033207F57D36EB2B2B35B9D6B0100103839527F8C36D7
|
||||
0000000049454E44AE426082}
|
||||
Name = 'PngImage5'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001714944415478DA
|
||||
630C9B1C9ACFC0C03081813C50C00834E07F7E400E51AAFFFEFBC3F0EBDF7786
|
||||
9F7F2138C9268F016EC099973B18F253E4198E6ED6C4A9D9CEFF36C3C4390F19
|
||||
64793519264C9BCD7069D9658801D6962A60CDC40290216B171F411880CF05BF
|
||||
A0CE05D17E619FC09A05D8C519E6CE598B6AC0B9FDDF8876018BEE6986E50B76
|
||||
631A9013EB8153D3AF3F0C0C3F7F3330D807663124B40A607A016640FDE4FD58
|
||||
0D2849716458B86607C3BCA59B18229BD919B62C3D4B9C0B603683E8E51B2006
|
||||
0436FC65D8B3E23A692EC888716458BB05628057ED1786C3AB1F200CC8F1CB60
|
||||
B878F0178A0B906D86E1CD3B20063857BD6238B5EE15C280349F7886EB8799F1
|
||||
BA2036D49161C76E880136E50F192E6EFC8C3020DE338CE1DE311EB001D86CFE
|
||||
FD1742EFDB0F31C0B4E43AC38D2D7F110644B8F9323C3D29CA901CEE81A219A6
|
||||
11C63E7604628051F16586DB5B1911060439BB304C9BB984E88404033003F277
|
||||
35ED262B3BBBD5B9160000C8E01B524AB937870000000049454E44AE426082}
|
||||
Name = 'PngImage4'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA
|
||||
8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414
|
||||
A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D
|
||||
739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF
|
||||
425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008
|
||||
EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5
|
||||
6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050
|
||||
910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85
|
||||
CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15
|
||||
205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7
|
||||
F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D
|
||||
B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D
|
||||
09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02
|
||||
161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE
|
||||
4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0
|
||||
7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D
|
||||
02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747
|
||||
2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7
|
||||
FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386
|
||||
01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790
|
||||
E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6
|
||||
9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74
|
||||
2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD
|
||||
BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03
|
||||
503A4EA60D6AAC070000000049454E44AE426082}
|
||||
Name = 'PngImage6'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA
|
||||
8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251
|
||||
82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E
|
||||
C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC
|
||||
5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910
|
||||
082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537
|
||||
BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0
|
||||
81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB
|
||||
B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048
|
||||
5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5
|
||||
E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676
|
||||
3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8
|
||||
8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002
|
||||
29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29
|
||||
5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF
|
||||
077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF
|
||||
0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5
|
||||
1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF
|
||||
AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632
|
||||
83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4
|
||||
E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384
|
||||
8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72
|
||||
CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD
|
||||
DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8
|
||||
3FA68502A9830000000049454E44AE426082}
|
||||
Name = 'PngImage7'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000E14944415478DA
|
||||
63FCFFFF3F032580717019C0C8C8086787B4DDF8FFEBD76F869F3F7F33EC6C37
|
||||
824BA05B88D300BF86CBFFA3A35419A6CFB8C870A0CF9C7403DC2BCFFD8F88D4
|
||||
66983DEB34C3B12936C41910DA7E13EE6C100E0D37609837E7180358EC0708FF
|
||||
6278B0218011A701FE8D57C0CEFEF68391E1DB770630FD1D88BF7C07E26F8C0C
|
||||
6B17AE6178B1230CB7011E55E7FF836C86B9C23FC48661C9BC5D609B7F40F187
|
||||
0331B80D400E03DDF85DFF3D039D1856CEDFCCF0706320E981A816BEF5BF8BBF
|
||||
07D8D92F7786936E80BCFFFAFF30677F3C184B9C01E480616000007F3BB6E1E0
|
||||
0AF3B40000000049454E44AE426082}
|
||||
Name = 'PngImage8'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000714944415478DA
|
||||
63FCFFFF3F03258071D4002A1B10DA7E13CC01897DFDFA83E1DBB71F60FAFBB7
|
||||
9F0C9F3F7F03E3F7FBA219F11A1013A500E77FFCCCC8F0EA1D23C38BB74C0CCF
|
||||
5E3131AC9E3397E1F7E914DC0684B4DDF88FCBE62F9FBF33FCF9F397E1FFF974
|
||||
DC060C7C208E1A401E0000EFE473E127272ED00000000049454E44AE426082}
|
||||
Name = 'PngImage9'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001C74944415478DA
|
||||
A5934D4B5B411885CF5D9982288874EB0F306E5CBA9A646514E33536264AE456
|
||||
5184528AE0424A043751FCC08228E24788894631D5D6D12C5C08EA2A74512AD8
|
||||
E4070822EE44A3E255CC386F24264AAE5978609881B9E739EFCCBC571142E03D
|
||||
5208A0284ADECDA08FB9E4342087EFF3C04124772F139C1790319614C3DCE456
|
||||
B116E2D0EF11CF051502FCD7BA54F37A98C3E951110E70783A5584FC3C2E0155
|
||||
0501DB534C34389F92DD9A342E7068DD2A96FC1CD296AE44F3EE470C019B934C
|
||||
A8AE6CF2E29C9C3B6C5809EEC0EEA84194C7E212506508D8F8C144735B36D93F
|
||||
232B69B72212DE43BDBD1A5BBFFFA1C7B7AF3C03424396C6B252F08714709184
|
||||
F94311E22DEDD9E4C0FC0E9CEE1AFC8AC4505B5789E876025F867300D1694BFA
|
||||
CCA49FCB1C046AD5B2C94B813D383E3D25334B0576778FF17524074047C8944D
|
||||
A2B3BB3C36E8BA8E3BFD363DEEEF74DC5C5F2179718ED89F4B7C1B7B0520AD8E
|
||||
3241C9F4B191F93A798943F90EBDE37900A4908F0987CB6A6826FD3D02FA260C
|
||||
0024FF201374DBF9CCA767B7F28E4CF07C7F03409AF532411796319391747266
|
||||
C2C77298651F240AFE4C53FD4CA4E48BA464FBD1CBD09ACCB29D132F5AF93D7A
|
||||
04D7A238F0C903C3480000000049454E44AE426082}
|
||||
Name = 'PngImage10'
|
||||
Background = clWindow
|
||||
end>
|
||||
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||
Left = 371
|
||||
Top = 104
|
||||
Bitmap = {}
|
||||
end
|
||||
object PreviewLargeImageList: TPngImageList
|
||||
Height = 24
|
||||
Width = 24
|
||||
PngImages = <
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F80000000970485973000017120000171201679FD252000001894944415478DA
|
||||
63FCFFFF3F032D01E3F0B4C0B1F2228AE0810E03467C8638545CF8BFBF5D1FAB
|
||||
1A9C1604D9E980D97D93A6303CD851C088CFF007170E30DCDF9E4F7D0B408683
|
||||
D481D450DD0298E1DF7EFE679831732A752D4036FCDBAF7F0C8BE64F27CF82AF
|
||||
3FFE33CC9C3515C50274C3BF03E9D5CB66906E81BB9936C3E7EFFF18962D9E0E
|
||||
B7009BE1DF7FFD67D8B26626E91658E96A022DF8CFB079CD0CB005B80CFFF693
|
||||
8161DF66322CD055D160F80C0CA2035B663228183830E032FC0B50CDA9DDB348
|
||||
B74041469DE1D3B77F0CE7F6CD06FBC028EFC47F1F6B430CC3BFFEF8C770F5F0
|
||||
1CD22D10125265F8F0F53FC3BD9373E07100B2C44A4F1FC5F0AF400B1F9C9A4B
|
||||
BA054CEC2A0C1F813E787B791E4A2A0259A222AF07371C64D19B4BF348B7E0F3
|
||||
5F25A00FFE31FCBDB700231F802CE113D0061B0EC23F6ECD27DD82C79F1418FE
|
||||
FE03721E2CC09A9341967C63D064F8018C0F901A922D78F04101C2C16101CC92
|
||||
77BF34686701DC925B27C8B0005804C3003E0B4040C163C27F922CA02618B580
|
||||
200000A0D9B0E00198A13A0000000049454E44AE426082}
|
||||
Name = 'PngImage1'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F80000000970485973000017120000171201679FD252000000FA4944415478DA
|
||||
63FCFFFF3F032D01E3F0B680919111AF66878A0BFFF7B7EBE35544B60520C31F
|
||||
5C38C0707F7B3EF52D00191E64A7C3D037690AF52D8019FEEDE77F861933A752
|
||||
D70264C3BFFDFAC7B068FE74EA59806EF87720BD7AD90CEA5880CDF0EFBFFE33
|
||||
6C593393720B7019FEED2703C3BECD145AE0587911A7E15F7EFC6738B57B16E5
|
||||
3E30CA3BF1DFC7DA10C3F0AF3FFE315C3D3C873A7100B2C44A4F1FC5F0AF400B
|
||||
1F9C9A4BBD5404B244455E0F6E38C8A23797E651371F802CE113D0061B0EC23F
|
||||
6ECDA77E4E0659F28D4193E107303E181E2CA04D5904B2E4DD2F0DDA5900B7E4
|
||||
D609DA5900020A1E13FE53640135C0A805040100D3AF21E00AC8E9BE00000000
|
||||
49454E44AE426082}
|
||||
Name = 'PngImage0'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F80000000970485973000017120000171201679FD2520000012E4944415478DA
|
||||
63FCFFFF3F032D01E3F0B6C0B1F2E2FF031D068CF80C20E440BC16D8955FF9FF
|
||||
F5C7578673932C705A429105B6400BF2037518DA979FC469094516D8945DFD5F
|
||||
10A40D66E3B284220BACCBAEFD2F0CD202B37FFDF9CFD0BBFA148625145A701D
|
||||
688126D8F0EFBFFE337CFBF99F61C18E33289650648155E98DFF39FEEA70C3C1
|
||||
F8D73F862D47CFC32DA1C802CBD29BFF533C55510CFFFE13E29B63972E822DA1
|
||||
C8028B929BFFA39D55300CFFF69381E1CB8FFF0CA776CF62B8BF3D9F916C0BCC
|
||||
4B6EFD0FB251C269F8831D0594F9C0ACF8F67F4F73799C86531C07A6C577FE3B
|
||||
1AC8E2349C620B4C8AEEFEB7D496C66938152CB8F75F5F450AA7E1145B605C74
|
||||
FFBF8A8C044EC329B6C0A8F0C1FFF73736E2349C620B0C0B1FFEBF30418176F5
|
||||
0135C0A80504010058FB49E08BBA20470000000049454E44AE426082}
|
||||
Name = 'PngImage3'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F80000000970485973000017120000171201679FD252000001C24944415478DA
|
||||
63FCFFFF3F032D01E3F0B4C0B1F2E2FF031D068CF834DA965D46D178A85307AB
|
||||
7AAC16D8955FF9FFF5C7578673932C705A02B220D44113CCEE9B3485E1FEF67C
|
||||
E22DB0055A901FA8C3D0BEFC244E4B28B2C0A6ECEAFF82206D301B9725145960
|
||||
5D76ED7F61901698FDEBCF7F86DED5A7302CA1D082EB400B34C1867FFFF59FE1
|
||||
DBCFFF0C0B769C41B10466C1D71FFF1966CE9A4A9A0556A537FEE7F8ABC30D07
|
||||
E35FFF18B61C3D0FB7046481978506C3E7EFFF18962D9E4E9A0596A537FFA778
|
||||
AAA218FEFD27C437C72E5D045B02B2C0565F0D68C17F86CD6B6690668145C9CD
|
||||
FFD1CE2A18867FFBC9C0F0051824A776CF6290D5736630505365F80CE41FD832
|
||||
93340BCC4B6EFD0FB251C269F8831D05601F28CBA9307CFAF68FE1DCBED9A459
|
||||
60567CFBBFA7B93C4EC36171202AA2C4F0E1EB7F867B27E790668169F19DFF8E
|
||||
06B2380D8759C0CAA9C8F011E883B797E791668149D1DDFF96DAD2380D8759F0
|
||||
EDBF3CD007FF18FEDE5B40AA05F7FEEBAB48E1341C66C1B32FB20C7FFF01390F
|
||||
48B4C0B8E8FE7F1519099C86C32C78FC4916C221D502A3C207FFDFDFD888D370
|
||||
8A2D302C7CF8FFC2040582F5C1E34B7BE17C922CA02618B5802000000BFCA8E0
|
||||
E6ADB53E0000000049454E44AE426082}
|
||||
Name = 'PngImage2'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F80000000970485973000017120000171201679FD252000002344944415478DA
|
||||
63FCFFFF3F032D0123C882F02961F940F6042A9B5DB03267D5449805FFF30372
|
||||
C832E51FC35F863FFF7E31FCFEF713887F41D9BF18526C0A19DEBF7ACF489105
|
||||
7FFE430C86190AA3A74C5FC87069D965FC169CDBFF8D24CB642C5EC32D993173
|
||||
397116E4C47AE035F4EFBFFF0CBFFFFC65B0F2CB63A89C680CF7C1DCD96B29B7
|
||||
0066F89C957B18E62DDDC450DAAF0BF7C1C2B99B89B7A07EF27E9C9614275932
|
||||
2C5A77006C4141AF3ADC07CBE6EF24DF073097FFFAFD87E1F7EFBF0CCB371F06
|
||||
5B90D3AD08F7C1AA85FBA9E383CC48638635DB8F812D48ED9060F8FD1F62C1C6
|
||||
C52748F701BACB21ECBF0C9BF69C045B90D02E04CF0FDB969EA78E0FA2FD7418
|
||||
761D3A0BB620A695079ED9762FBF8ADF0250EEBCB0FF27D8825F409722BB18CE
|
||||
868AEF3F7E016C4178332B3C0EF6AFBC8DDB0258D6BF72F03F435AA42B43EBF4
|
||||
43387D10E8AAC670E4F465B005418DFFE1417464F523EC1620972B370FB33124
|
||||
8638E174394CFCD4856B600BFCEA7FC283E8E4DA179816E40664A2145AF78EF2
|
||||
30C404D8E3351CC43E7FF526D802F79AF7607D20FD17367CC2B420D32F19A544
|
||||
7C745C8821CCDB06AFE120F6959B77C0163855BD84177C5736FDC0B420C93B12
|
||||
A5447C794A9A21D0CD9261FDAEE30C8400C802DB8A4770BD37B7FCC3B420D633
|
||||
18A5D87D7B4611AC915860597607ACF7DFFFBF0CB7B732625A10E9EE8BE20314
|
||||
1AADDCC7C506190E02582D087175A78AE1382D087076045714D402E816E4EF6A
|
||||
DA4DD54ADFADCE1551E9D31200008EE53CFED5D704CB0000000049454E44AE42
|
||||
6082}
|
||||
Name = 'PngImage5'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F80000000970485973000017120000171201679FD252000003154944415478DA
|
||||
B5956D48536114C7CFC89022883E288415547E48F243651451425A6A929361A2
|
||||
0E13D14553985AA411944A5A4804622AE9AC25CBDCD0125F4B526CD87C2F75E8
|
||||
544C83B23EE45829E6667AEFEEEDDE3377756D6B1BD98167CFB37BEEF9FFCE39
|
||||
CF81CBA3691A783C1ED8B300F1043D28F5B3EF64ED50390D9A14877ED4667F62
|
||||
4B633298FF45EB9D1FB579B8EFF7CF71A8CFBE33D8DF0931A20E7BEE2B3592DA
|
||||
0716009D2190709EF43BDE902EF48562E5B45544F12D1DFAD65B5CC401C8CA96
|
||||
425BFD4E20A8152099C5EE974E5D8539DD1CCF066011D7FDF400EF1D24279428
|
||||
914177B39FD99FE08BCFBECC52603018F15C505803F5B55B51BCB44C0E238A51
|
||||
5BC049FE04C88B4428CE9A716909F4FA1F60342E81EC5987154037E7012B0401
|
||||
8B8B065CEC595AF91A140A0ACAA54AFB00D658C8FD7C3127AEFF6E0634B60E73
|
||||
80E4A85D306FF0E4C4170D06A8AC56A1385B81EC519D7DC090CA5C6E5AE16748
|
||||
BB1C0125152D56FD7E98B91764EA3D78B1164B8A0F42F1A7B907711A57F6F580
|
||||
5CD6EC182049388781BCC352F3A80D8BED4E1045D1B029A002CFF36F13813499
|
||||
20242E0BC4F77C40C1B4CA29C002B10760C54913059EC71E73E2CA66353CA96E
|
||||
02518117D4CA55AE011C65CE8A13A4094892427182D95FB47623E0E2DD6DD058
|
||||
D5E71C905BA202572C5578940199A0A1BD0F01B1F99BE155F5B0FB15B0D912A6
|
||||
D5AC194182A902AB612B61CE2D6F061010759B8676E5987B007BE224D722F36A
|
||||
530F22203277195435531BD7A278BE3FDE87AA578380F0EC05E87A3EE35A05AE
|
||||
646EB96CF5BB11049CBDA987FEBA6FB68034412A6854CB1CC01D7176927A87C6
|
||||
1010786306340D0BB680D44811683B6904B041F9659D2EB52832D817C7F4FDC8
|
||||
04024E5C9F066DD32F5B40F279214C756D811461A85B9913ABEF69C63F20E068
|
||||
E6384CB650B68084F00BF0A9673B2445075B055314E5549C7DAE9D9C46C0916B
|
||||
A330F592670B1086F1E16B9F1724084E637071D5804B2D0A3ABE1B77A780E890
|
||||
30981DF001213FD02AB3BF5D36C5C45ACC29407026083F141B657F0232DAF2DA
|
||||
8BFE5D76CD427342D63EFAFFD37E031AD161FE86E3B8C60000000049454E44AE
|
||||
426082}
|
||||
Name = 'PngImage4'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA
|
||||
AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4
|
||||
4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3
|
||||
A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3
|
||||
7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117
|
||||
CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671
|
||||
584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7
|
||||
B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E
|
||||
1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3
|
||||
88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37
|
||||
33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8
|
||||
29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F
|
||||
0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D
|
||||
F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D
|
||||
AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480
|
||||
651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E
|
||||
C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56
|
||||
4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5
|
||||
CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A
|
||||
3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6
|
||||
30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020
|
||||
D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D
|
||||
D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA
|
||||
9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50
|
||||
C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6
|
||||
80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152
|
||||
D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1
|
||||
38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11
|
||||
5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242
|
||||
60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE
|
||||
47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3
|
||||
B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7
|
||||
7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130
|
||||
26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7
|
||||
98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981
|
||||
2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0
|
||||
4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877
|
||||
4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB
|
||||
2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366
|
||||
752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF
|
||||
6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688
|
||||
F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811
|
||||
F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000
|
||||
49454E44AE426082}
|
||||
Name = 'PngImage7'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA
|
||||
AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED
|
||||
C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B
|
||||
139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24
|
||||
5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4
|
||||
8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5
|
||||
B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB
|
||||
5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191
|
||||
6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5
|
||||
05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262
|
||||
6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56
|
||||
488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0
|
||||
A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36
|
||||
E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A
|
||||
EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098
|
||||
0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7
|
||||
20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0
|
||||
9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A
|
||||
7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715
|
||||
2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC
|
||||
0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1
|
||||
F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9
|
||||
6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407
|
||||
B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A
|
||||
2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0
|
||||
8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E
|
||||
5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F
|
||||
82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC
|
||||
4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536
|
||||
D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D
|
||||
932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B
|
||||
D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC
|
||||
F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134
|
||||
1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA
|
||||
4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4
|
||||
C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF
|
||||
BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25
|
||||
6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F
|
||||
0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707
|
||||
274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4
|
||||
697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16
|
||||
949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855
|
||||
88E7298D620000000049454E44AE426082}
|
||||
Name = 'PngImage6'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F80000000970485973000017120000171201679FD252000001324944415478DA
|
||||
63FCFFFF3F032D0123DD2C606464C4A9C8A5EF22862BF614E9E3D480EC68A22D
|
||||
C8F05765F8FDE72F10FF63888B5ECEC0702183BA16247B2B810DFF03B424297E
|
||||
15F52D887357001B0EB2243D790DF52D887296051B0E0AA69CF4F5D4B720D45E
|
||||
1A6CF89FBF7F190AB23651DF82006B09B0E1205F94E66D21DD02D7FE4B783384
|
||||
8F85283C88AA8AB633B8C459E254BBBB508F11AB05C8491116A1B06081B1C172
|
||||
28FCBF0CBF7E0331880DA4174F3ECBF0FF7C3A760B909322398683D82B675CC0
|
||||
6D01725224C770107BFD9CCBB82DD8B3E838F6480686B7A52637DCF0DEC683F8
|
||||
A20BBB05845291892A27DCE5935A8F503F99EA2BB2C1836546D771EA5BA025CB
|
||||
0C0FE7797DA7A86F818A04034A52A4BA057222A84991EA1648F2FF42498A54B7
|
||||
002309936A01ADC0D0B700000ADFCFE01EDA3C000000000049454E44AE426082}
|
||||
Name = 'PngImage8'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F80000000970485973000017120000171201679FD2520000007C4944415478DA
|
||||
63FCFFFF3F032D01E3A805A3168C5A80B0C0B5FF12D56CDA5DA8C788D5829C20
|
||||
751485BFFFFC65F8F1F30FC38F5FBF19BE83E89F501ACAFFF6E317C3B7EFBF21
|
||||
F40F087D68CD3D86FFE7D3095B408EE13F7EFD6138B5E911610BC8351C04F05A
|
||||
B067D171AAC401560B6805462D18B560D4023A5800007B57E2D1072B1BE80000
|
||||
000049454E44AE426082}
|
||||
Name = 'PngImage9'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
|
||||
F80000000970485973000017120000171201679FD252000002E84944415478DA
|
||||
A5957D48144118C69F2B29B3FA23222C02598AA48F3B4A304A839C120C925022
|
||||
4AA2F2B3B313FB80A0C20E333F52FC2348C24AC49490D4C414394D4D4F33112B
|
||||
C1F0233090C9D0142BA920AFDA73DAD975E5923BDDB5178679776EEFF9CD3CF3
|
||||
CEAC8131061E0683010B457126392175D699C7CC186B6BB9BBF7544D595727A0
|
||||
373A21D238D8DF83CE4EDA27014CFF0D5067BD7C198CD3D3C0C9984870404707
|
||||
057FF6F242DFDCD5E805CCCEFA5517C5A93805D0DE4E117F4EC9E7AE4617E071
|
||||
2E615167668520C1E4BCAD8DE26C929237355124E7B41A160528CD21CCD59658
|
||||
B392DBED1489C94ADED048B1CA0758B254B12BFABABD5C33E0D12DC2DCD9D2DC
|
||||
4C61B9A0E4F5CF284E4707E3F3F8A86C9704306906487BC03CD992743102EF07
|
||||
DEC2564761B61CC4C8872154D7505CB96337680614A513E6C9164B72388606FB
|
||||
516B93C0E6FD181B19465535C5B53C1D80C234C23CD992981486E1A141D4D44A
|
||||
D6252816555651A4DCD5012848254C8B2DB171BB31F96502159514D67C378092
|
||||
AC03EA356094DA6C5DDFB712A6DAF2E923C5BED07088E21F74B5352260AF620B
|
||||
1FF73706E0C7B749943DA148BDE71E201F289EAB1B6A4E6F35E4A710C66DE1EF
|
||||
BD68A8C19E9030389D22DEBC6C812930184E0936D0F31A9BB79AE4F1E29277B8
|
||||
F1C03D40AE163554CFF975C06D718AA23C732EA2E4A22CAEF4A23CFECB3185D2
|
||||
328A9B051E5610142418FD77ECFA07A2568B1671DE2AAAC69151E86193F98686
|
||||
84085021FC37AD3397DBD4149EDABE23AB689E2AE29E87860AD8B27DA76E7187
|
||||
E3276CCF45643F5CA04CF3AE1276284C80DF267F5DE27CBCBE05C829D1700E6E
|
||||
5F262CFCB080F51BFD348B8F8E39F05BF4764877D10A4D072DF71261114704AC
|
||||
59BB6E41711E9DDDC0065F44E9BA4DB3CF1376345280CFCAD5F38AABB397D240
|
||||
09D0AF19C023C342D8F163829C7B12EFEEF586691BA2F8A773511FFD34B3B492
|
||||
085F7C9D1897055DC3555C2D6FDD001ED678C2F8C99E96FEC2783F93BB8ACF05
|
||||
FC0592430CFE3F77C7A70000000049454E44AE426082}
|
||||
Name = 'PngImage10'
|
||||
Background = clWindow
|
||||
end>
|
||||
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
|
||||
Left = 403
|
||||
Top = 104
|
||||
Bitmap = {}
|
||||
end
|
||||
object frxReport1: TfrxReport
|
||||
Version = '3.23.7'
|
||||
DotMatrixReport = False
|
||||
EngineOptions.DoublePass = True
|
||||
IniFile = '\Software\Fast Reports'
|
||||
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator]
|
||||
PreviewOptions.Zoom = 1.000000000000000000
|
||||
PrintOptions.Printer = 'Default'
|
||||
ReportOptions.CreateDate = 38658.858023541660000000
|
||||
ReportOptions.LastChange = 38658.858023541660000000
|
||||
ScriptLanguage = 'PascalScript'
|
||||
ScriptText.Strings = (
|
||||
'begin'
|
||||
''
|
||||
'end.')
|
||||
StoreInDFM = False
|
||||
Left = 16
|
||||
Top = 200
|
||||
Datasets = <>
|
||||
Variables = <>
|
||||
Style = <>
|
||||
end
|
||||
object frxBarCodeObject1: TfrxBarCodeObject
|
||||
Left = 16
|
||||
Top = 240
|
||||
end
|
||||
object frxOLEObject1: TfrxOLEObject
|
||||
Left = 48
|
||||
Top = 240
|
||||
end
|
||||
object frxRichObject1: TfrxRichObject
|
||||
Left = 48
|
||||
Top = 272
|
||||
end
|
||||
object frxCrossObject1: TfrxCrossObject
|
||||
Left = 80
|
||||
Top = 240
|
||||
end
|
||||
object frxCheckBoxObject1: TfrxCheckBoxObject
|
||||
Left = 80
|
||||
Top = 272
|
||||
end
|
||||
object frxGradientObject1: TfrxGradientObject
|
||||
Left = 16
|
||||
Top = 304
|
||||
end
|
||||
object frxDotMatrixExport1: TfrxDotMatrixExport
|
||||
UseFileCache = True
|
||||
ShowProgress = True
|
||||
EscModel = 0
|
||||
GraphicFrames = False
|
||||
SaveToFile = False
|
||||
UseIniSettings = True
|
||||
Left = 48
|
||||
Top = 304
|
||||
end
|
||||
object frxDialogControls1: TfrxDialogControls
|
||||
Left = 80
|
||||
Top = 304
|
||||
end
|
||||
object frxTIFFExport1: TfrxTIFFExport
|
||||
ShowDialog = False
|
||||
UseFileCache = True
|
||||
ShowProgress = True
|
||||
Monochrome = True
|
||||
Left = 144
|
||||
Top = 240
|
||||
end
|
||||
object frxPDFExport1: TfrxPDFExport
|
||||
ShowDialog = False
|
||||
UseFileCache = True
|
||||
ShowProgress = True
|
||||
PrintOptimized = False
|
||||
Outline = False
|
||||
Author = 'FastReport'#174
|
||||
Subject = 'FastReport'#174' PDF export'
|
||||
Background = False
|
||||
Creator = 'FastReport'#174' (http://www.fast-report.com)'
|
||||
HTMLTags = False
|
||||
Left = 144
|
||||
Top = 280
|
||||
end
|
||||
object frxBMPExport1: TfrxBMPExport
|
||||
ShowDialog = False
|
||||
UseFileCache = True
|
||||
ShowProgress = True
|
||||
Monochrome = True
|
||||
Left = 144
|
||||
Top = 320
|
||||
end
|
||||
end
|
||||
353
Source/GUIBase/uEditorPreview.pas
Normal file
353
Source/GUIBase/uEditorPreview.pas
Normal file
@ -0,0 +1,353 @@
|
||||
unit uEditorPreview;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uEditorBase, ImgList, PngImageList, StdActns, ActnList, TBX,
|
||||
TB2Item, TB2Dock, TB2Toolbar, JvExControls, JvComponent, JvNavigationPane,
|
||||
TB2ExtItems, TBXExtItems, uViewPreview, frxClass, ComCtrls, frxPreview,
|
||||
JvFormAutoSize, JvAppStorage, JvAppRegistryStorage, JvFormPlacement,
|
||||
pngimage, frxExportImage, frxExportPDF, frxDCtrl, frxDMPExport,
|
||||
frxGradient, frxChBox, frxCross, frxRich, frxOLE, frxBarcode,
|
||||
ExtCtrls, JvComponentBase, TBXStatusBars, JvExComCtrls, JvStatusBar;
|
||||
|
||||
type
|
||||
IEditorPreview = interface(IEditorBase)
|
||||
['{43934C3E-2776-4F9E-9292-FB0D7DE2E4DA}']
|
||||
function GetReport: TfrxReport;
|
||||
property Report: TfrxReport read GetReport;
|
||||
procedure LoadFromStream(AStream : TStream);
|
||||
function ExportToFile : String;
|
||||
procedure Print;
|
||||
procedure Preview;
|
||||
end;
|
||||
|
||||
TfEditorPreview = class(TfEditorBase, IEditorPreview)
|
||||
TBXToolbar1: TTBXToolbar;
|
||||
TBXItem33: TTBXItem;
|
||||
TBXItem34: TTBXItem;
|
||||
TBXItem39: TTBXItem;
|
||||
TBXSeparatorItem16: TTBXSeparatorItem;
|
||||
cbZoom: TTBXComboBoxItem;
|
||||
PreviewActionList: TActionList;
|
||||
PreviewSmallImageList: TPngImageList;
|
||||
PreviewLargeImageList: TPngImageList;
|
||||
actPrimeraPagina: TAction;
|
||||
actUltimaPagina: TAction;
|
||||
actPaginaAnterior: TAction;
|
||||
actPaginaSiguiente: TAction;
|
||||
TBXItem36: TTBXItem;
|
||||
actZoomIn: TAction;
|
||||
actZoomOut: TAction;
|
||||
actTodaPagina: TAction;
|
||||
actAnchoPagina: TAction;
|
||||
TBXSeparatorItem17: TTBXSeparatorItem;
|
||||
TBXItem37: TTBXItem;
|
||||
TBXItem40: TTBXItem;
|
||||
TBXItem41: TTBXItem;
|
||||
TBXItem42: TTBXItem;
|
||||
frxReport1: TfrxReport;
|
||||
actToolHand: TAction;
|
||||
actToolZoom: TAction;
|
||||
tbxZoom: TTBXItem;
|
||||
tbxMano: TTBXItem;
|
||||
TBXSeparatorItem18: TTBXSeparatorItem;
|
||||
frxBarCodeObject1: TfrxBarCodeObject;
|
||||
frxOLEObject1: TfrxOLEObject;
|
||||
frxRichObject1: TfrxRichObject;
|
||||
frxCrossObject1: TfrxCrossObject;
|
||||
frxCheckBoxObject1: TfrxCheckBoxObject;
|
||||
frxGradientObject1: TfrxGradientObject;
|
||||
frxDotMatrixExport1: TfrxDotMatrixExport;
|
||||
frxDialogControls1: TfrxDialogControls;
|
||||
frxTIFFExport1: TfrxTIFFExport;
|
||||
frxPDFExport1: TfrxPDFExport;
|
||||
frxBMPExport1: TfrxBMPExport;
|
||||
TBXItem38: TTBXItem;
|
||||
TBXSeparatorItem19: TTBXSeparatorItem;
|
||||
TBXItem43: TTBXItem;
|
||||
TBXItem44: TTBXItem;
|
||||
TBXItem45: TTBXItem;
|
||||
TBXItem46: TTBXItem;
|
||||
TBXItem47: TTBXItem;
|
||||
TBXSubmenuItem2: TTBXSubmenuItem;
|
||||
TBXItem48: TTBXItem;
|
||||
TBXSubmenuItem3: TTBXSubmenuItem;
|
||||
TBXItem49: TTBXItem;
|
||||
TBXItem50: TTBXItem;
|
||||
TBXItem7: TTBXItem;
|
||||
TBXItem35: TTBXItem;
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure actPrimeraPaginaExecute(Sender: TObject);
|
||||
procedure actUltimaPaginaExecute(Sender: TObject);
|
||||
procedure actPaginaAnteriorExecute(Sender: TObject);
|
||||
procedure actPaginaSiguienteExecute(Sender: TObject);
|
||||
procedure actZoomInExecute(Sender: TObject);
|
||||
procedure actTodaPaginaExecute(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure FormResize(Sender: TObject);
|
||||
procedure actImprimirExecute(Sender: TObject);
|
||||
procedure actAnchoPaginaExecute(Sender: TObject);
|
||||
procedure actZoomOutExecute(Sender: TObject);
|
||||
procedure cbZoomItemClick(Sender: TObject);
|
||||
procedure actToolHandExecute(Sender: TObject);
|
||||
procedure actToolZoomExecute(Sender: TObject);
|
||||
procedure actPaginaSiguienteUpdate(Sender: TObject);
|
||||
procedure actUltimaPaginaUpdate(Sender: TObject);
|
||||
procedure actPrimeraPaginaUpdate(Sender: TObject);
|
||||
procedure actPaginaAnteriorUpdate(Sender: TObject);
|
||||
private
|
||||
FPreview : TfrViewPreview;
|
||||
procedure OnPageChanged(Sender: TfrxPreview; PageNo: Integer);
|
||||
procedure UpdateZoom;
|
||||
protected
|
||||
function GetReport: TfrxReport; virtual;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
property Report: TfrxReport read GetReport;
|
||||
procedure Print;
|
||||
procedure Preview;
|
||||
procedure LoadFromStream(AStream : TStream);
|
||||
function ExportToFile : String;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
frxRes, frxUtils, frxPrinter, frxFormUtils,
|
||||
uCustomEditor, uSistemaFunc;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{ TfEditorBase1 }
|
||||
|
||||
function TfEditorPreview.GetReport: TfrxReport;
|
||||
begin
|
||||
Result := frxReport1;
|
||||
end;
|
||||
|
||||
|
||||
procedure TfEditorPreview.FormShow(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
UpdateZoom;
|
||||
actPrimeraPagina.Execute;
|
||||
FPreview.ShowEmbedded(Self);
|
||||
Report.ShowPreparedReport;
|
||||
actAnchoPagina.Execute;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actPrimeraPaginaExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FPreview.Preview.First;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actPrimeraPaginaUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := (FPreview.Preview.PageNo > 1);
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actUltimaPaginaExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FPreview.Preview.Last;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actUltimaPaginaUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := (FPreview.Preview.PageNo < FPreview.Preview.PageCount);
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actPaginaAnteriorExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FPreview.Preview.Prior;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actPaginaAnteriorUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := (FPreview.Preview.PageNo > 1);
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actPaginaSiguienteExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FPreview.Preview.Next;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actPaginaSiguienteUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := (FPreview.Preview.PageNo < FPreview.Preview.PageCount);
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actZoomInExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FPreview.Preview.Zoom := FPreview.Preview.Zoom + 0.25;
|
||||
UpdateZoom;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.UpdateZoom;
|
||||
begin
|
||||
cbZoom.Text := IntToStr(Round(FPreview.Preview.Zoom * 100)) + '%';
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actTodaPaginaExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FPreview.Preview.ZoomMode := zmWholePage;
|
||||
UpdateZoom;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FPreview.Free;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.FormResize(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
UpdateZoom;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actImprimirExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
Print;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actAnchoPaginaExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FPreview.Preview.ZoomMode := zmPageWidth;
|
||||
UpdateZoom;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actZoomOutExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FPreview.Preview.Zoom := FPreview.Preview.Zoom - 0.25;
|
||||
UpdateZoom;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.cbZoomItemClick(Sender: TObject);
|
||||
var
|
||||
s: String;
|
||||
begin
|
||||
FPreview.Preview.SetFocus;
|
||||
|
||||
if cbZoom.ItemIndex = 6 then
|
||||
actAnchoPagina.Execute
|
||||
else if cbZoom.ItemIndex = 7 then
|
||||
actTodaPagina.Execute
|
||||
else
|
||||
begin
|
||||
s := cbZoom.Text;
|
||||
|
||||
if Pos('%', s) <> 0 then
|
||||
s[Pos('%', s)] := ' ';
|
||||
while Pos(' ', s) <> 0 do
|
||||
Delete(s, Pos(' ', s), 1);
|
||||
|
||||
if s <> '' then
|
||||
FPreview.Preview.Zoom := frxStrToFloat(s) / 100;
|
||||
end;
|
||||
|
||||
UpdateZoom;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actToolHandExecute(Sender: TObject);
|
||||
begin
|
||||
if tbxMano.Checked then
|
||||
FPreview.Preview.Tool := ptHand
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.actToolZoomExecute(Sender: TObject);
|
||||
begin
|
||||
if tbxZoom.Checked then
|
||||
FPreview.Preview.Tool := ptZoom;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.OnPageChanged(Sender: TfrxPreview;
|
||||
PageNo: Integer);
|
||||
begin
|
||||
StatusBar.Panels[0].Text := Format(frxResources.Get('clPageOf'),
|
||||
[PageNo, Sender.PageCount]);
|
||||
end;
|
||||
|
||||
constructor TfEditorPreview.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
|
||||
with cbZoom.Strings do
|
||||
begin
|
||||
Clear;
|
||||
Add('25%');
|
||||
Add('50%');
|
||||
Add('75%');
|
||||
Add('100%');
|
||||
Add('150%');
|
||||
Add('200%');
|
||||
Add(frxResources.Get('zmPageWidth'));
|
||||
Add(frxResources.Get('zmWholePage'));
|
||||
end;
|
||||
|
||||
FPreview := TfrViewPreview.Create(Self);
|
||||
Report.Preview := FPreview.Preview;
|
||||
FPreview.Preview.OnPageChanged := OnPageChanged;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.Preview;
|
||||
begin
|
||||
Self.ShowModal;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.Print;
|
||||
begin
|
||||
if not frxPrinters.HasPhysicalPrinters then
|
||||
frxErrorMsg(frxResources.Get('clNoPrinters'))
|
||||
else
|
||||
FPreview.Preview.Print;
|
||||
Enabled := True;
|
||||
end;
|
||||
|
||||
function TfEditorPreview.ExportToFile: String;
|
||||
var
|
||||
AFile : String;
|
||||
begin
|
||||
Result := '';
|
||||
AFile := DarFicheroTIFFTemporal;
|
||||
frxTIFFExport1.SeparateFiles := False;
|
||||
frxTIFFExport1.DefaultPath := ExtractFilePath(AFile);
|
||||
frxTIFFExport1.FileName := ExtractFileName(AFile);
|
||||
try
|
||||
if Report.Export(frxTIFFExport1) then
|
||||
Result := AFile;
|
||||
finally
|
||||
frxTIFFExport1.DefaultPath := '';
|
||||
frxTIFFExport1.FileName := '';
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfEditorPreview.LoadFromStream(AStream: TStream);
|
||||
begin
|
||||
Report.PreviewPages.LoadFromStream(AStream);
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
RegisterClass(TfEditorPreview);
|
||||
|
||||
finalization
|
||||
UnRegisterClass(TfEditorPreview);
|
||||
|
||||
end.
|
||||
|
||||
108
Source/GUIBase/uEditorUtils.pas
Normal file
108
Source/GUIBase/uEditorUtils.pas
Normal file
@ -0,0 +1,108 @@
|
||||
unit uEditorUtils;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
uEditorItem, uDADataTable, Controls;
|
||||
|
||||
type
|
||||
TFuncItemEditor = function(ABizObject : TDADataTableRules) : TModalResult;
|
||||
TProcItemEditor = procedure(ABizObject : TDADataTableRules);
|
||||
TFuncGetEditor = function : IEditorItem;
|
||||
|
||||
TEditorType = (etItem, etItems, etSelectItems);
|
||||
|
||||
procedure RegisterEditor(const IID : TGUID; const AFuncItemEditor : TFuncItemEditor;
|
||||
const AType : TEditorType);
|
||||
|
||||
function ShowEditor(const IID : TGUID; ABizObject : TDADataTableRules;
|
||||
const AType : TEditorType) : TModalResult;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
Dialogs, Classes, ComObj, SysUtils;
|
||||
|
||||
var
|
||||
FBizEditorsList : TList;
|
||||
|
||||
type
|
||||
PBizEditorsRec = ^TBizEditorsRec;
|
||||
TBizEditorsRec = record
|
||||
IID : String;
|
||||
ItemEditor : TFuncItemEditor;
|
||||
ItemsEditor : TFuncItemEditor;
|
||||
SelectItemsEditor : TFuncItemEditor;
|
||||
end;
|
||||
|
||||
|
||||
function FindBizEditors(const IID : TGUID) : PBizEditorsRec;
|
||||
var
|
||||
P: PBizEditorsRec;
|
||||
I: Integer;
|
||||
AIID : String;
|
||||
begin
|
||||
Result := NIL;
|
||||
AIID := GUIDToString(IID);
|
||||
if FBizEditorsList <> nil then
|
||||
for I := 0 to FBizEditorsList.Count-1 do
|
||||
begin
|
||||
P := FBizEditorsList[I];
|
||||
if (AIID = P^.IID) then
|
||||
begin
|
||||
Result := P;
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure RegisterEditor(const IID : TGUID; const AFuncItemEditor : TFuncItemEditor;
|
||||
const AType : TEditorType);
|
||||
var
|
||||
P: PBizEditorsRec;
|
||||
begin
|
||||
P := NIL;
|
||||
if FBizEditorsList = nil then
|
||||
FBizEditorsList := TList.Create;
|
||||
|
||||
P := FindBizEditors(IID);
|
||||
if not Assigned(P) then
|
||||
New(P);
|
||||
try
|
||||
P^.IID := GUIDToString(IID);
|
||||
case AType of
|
||||
etItem : P^.ItemEditor := AFuncItemEditor;
|
||||
etItems : P^.ItemsEditor := AFuncItemEditor;
|
||||
etSelectItems : P^.SelectItemsEditor := AFuncItemEditor;
|
||||
end;
|
||||
FBizEditorsList.Insert(0, P);
|
||||
except
|
||||
on E: EConvertError do
|
||||
ShowMessage(E.Message);
|
||||
end;
|
||||
end;
|
||||
|
||||
function ShowEditor(const IID : TGUID; ABizObject : TDADataTableRules;
|
||||
const AType : TEditorType) : TModalResult;
|
||||
var
|
||||
P: PBizEditorsRec;
|
||||
begin
|
||||
P := FindBizEditors(IID);
|
||||
|
||||
if Assigned(P) then
|
||||
case AType of
|
||||
etItem : Result := P.ItemEditor(ABizObject);
|
||||
etItems : Result := P.ItemsEditor(ABizObject);
|
||||
etSelectItems : Result := P.SelectItemsEditor(ABizObject);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
initialization
|
||||
FBizEditorsList := TList.Create;
|
||||
|
||||
finalization
|
||||
FBizEditorsList.Free;
|
||||
|
||||
end.
|
||||
65
Source/GUIBase/uViewBarraSeleccion.dfm
Normal file
65
Source/GUIBase/uViewBarraSeleccion.dfm
Normal file
@ -0,0 +1,65 @@
|
||||
inherited frViewBarraSeleccion: TfrViewBarraSeleccion
|
||||
Width = 451
|
||||
Height = 49
|
||||
Align = alBottom
|
||||
ExplicitWidth = 451
|
||||
ExplicitHeight = 49
|
||||
object JvFooter1: TJvFooter
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 451
|
||||
Height = 49
|
||||
Margins.Left = 5
|
||||
Margins.Right = 5
|
||||
Align = alClient
|
||||
DesignSize = (
|
||||
451
|
||||
49)
|
||||
object bSeleccionar: TJvFooterBtn
|
||||
Left = 239
|
||||
Top = 10
|
||||
Width = 100
|
||||
Height = 29
|
||||
Action = actSeleccionar
|
||||
Anchors = [akRight, akBottom]
|
||||
Default = True
|
||||
ModalResult = 1
|
||||
TabOrder = 0
|
||||
HotTrackFont.Charset = DEFAULT_CHARSET
|
||||
HotTrackFont.Color = clWindowText
|
||||
HotTrackFont.Height = -11
|
||||
HotTrackFont.Name = 'Tahoma'
|
||||
HotTrackFont.Style = []
|
||||
ButtonIndex = 0
|
||||
SpaceInterval = 6
|
||||
end
|
||||
object bCancelar: TJvFooterBtn
|
||||
Left = 343
|
||||
Top = 10
|
||||
Width = 100
|
||||
Height = 28
|
||||
Action = actCancelar
|
||||
Anchors = [akRight, akBottom]
|
||||
Cancel = True
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
HotTrackFont.Charset = DEFAULT_CHARSET
|
||||
HotTrackFont.Color = clWindowText
|
||||
HotTrackFont.Height = -11
|
||||
HotTrackFont.Name = 'Tahoma'
|
||||
HotTrackFont.Style = []
|
||||
ButtonIndex = 1
|
||||
SpaceInterval = 6
|
||||
end
|
||||
end
|
||||
object BarraSeleccionActionList: TActionList
|
||||
Left = 12
|
||||
Top = 3
|
||||
object actSeleccionar: TAction
|
||||
Caption = 'Seleccionar'
|
||||
end
|
||||
object actCancelar: TAction
|
||||
Caption = 'Cancelar'
|
||||
end
|
||||
end
|
||||
end
|
||||
28
Source/GUIBase/uViewBarraSeleccion.pas
Normal file
28
Source/GUIBase/uViewBarraSeleccion.pas
Normal file
@ -0,0 +1,28 @@
|
||||
unit uViewBarraSeleccion;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, StdCtrls, ActnList, ExtCtrls, JvExStdCtrls, JvButton,
|
||||
JvCtrls, JvFooter, JvExExtCtrls, JvComponent, JvExtComponent;
|
||||
|
||||
type
|
||||
TfrViewBarraSeleccion = class(TfrViewBase)
|
||||
JvFooter1: TJvFooter;
|
||||
bSeleccionar: TJvFooterBtn;
|
||||
bCancelar: TJvFooterBtn;
|
||||
BarraSeleccionActionList: TActionList;
|
||||
actSeleccionar: TAction;
|
||||
actCancelar: TAction;
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
end.
|
||||
14
Source/GUIBase/uViewBase.dfm
Normal file
14
Source/GUIBase/uViewBase.dfm
Normal file
@ -0,0 +1,14 @@
|
||||
object frViewBase: TfrViewBase
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 445
|
||||
Height = 291
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
ReadOnly = False
|
||||
end
|
||||
56
Source/GUIBase/uViewBase.pas
Normal file
56
Source/GUIBase/uViewBase.pas
Normal file
@ -0,0 +1,56 @@
|
||||
unit uViewBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uGUIBase, uCustomView, JvComponent, JvFormAutoSize;
|
||||
|
||||
type
|
||||
IViewBase = interface(ICustomView)
|
||||
['{82FBDF28-9C5F-4922-952E-0E84D67FE4BB}']
|
||||
procedure Refresh;
|
||||
end;
|
||||
|
||||
TfrViewBase = class(TCustomView, IViewBase)
|
||||
protected
|
||||
procedure SetReadOnly(Value: Boolean); override;
|
||||
|
||||
public
|
||||
procedure Refresh; virtual;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
uses
|
||||
cxDBEdit, cxControls, dxLayoutControl;
|
||||
|
||||
{ TfrViewBase }
|
||||
|
||||
procedure TfrViewBase.Refresh;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfrViewBase.SetReadOnly(Value: Boolean);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
if ReadOnly then
|
||||
for i:=0 to Self.ComponentCount-1 do
|
||||
begin
|
||||
If (Self.Components[i] Is TfrViewBase) then
|
||||
(Self.Components[i] as TfrViewBase).ReadOnly := ReadOnly;
|
||||
|
||||
If (Self.Components[i] Is TcxControl)
|
||||
and (not (Self.Components[i] Is TdxLayoutControl)) then
|
||||
(Self.Components[i] as TcxControl).Enabled := not ReadOnly;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
716
Source/GUIBase/uViewDetallesBase.dfm
Normal file
716
Source/GUIBase/uViewDetallesBase.dfm
Normal file
@ -0,0 +1,716 @@
|
||||
inherited frViewDetallesBase: TfrViewDetallesBase
|
||||
Width = 451
|
||||
Height = 304
|
||||
Align = alClient
|
||||
OnCreate = CustomViewCreate
|
||||
OnDestroy = CustomViewDestroy
|
||||
ExplicitWidth = 451
|
||||
ExplicitHeight = 304
|
||||
object ToolBar1: TToolBar
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 451
|
||||
Height = 46
|
||||
AutoSize = True
|
||||
ButtonWidth = 63
|
||||
Caption = 'ToolBar1'
|
||||
EdgeInner = esNone
|
||||
EdgeOuter = esNone
|
||||
Flat = False
|
||||
Images = ContenidoImageList
|
||||
List = True
|
||||
ParentShowHint = False
|
||||
ShowCaptions = True
|
||||
ShowHint = True
|
||||
TabOrder = 0
|
||||
Transparent = True
|
||||
Visible = False
|
||||
object ToolButton1: TToolButton
|
||||
Left = 0
|
||||
Top = 2
|
||||
Action = actAnadir
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton2: TToolButton
|
||||
Left = 62
|
||||
Top = 2
|
||||
Action = actEliminar
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton3: TToolButton
|
||||
Left = 129
|
||||
Top = 2
|
||||
Action = actSubir
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton4: TToolButton
|
||||
Left = 184
|
||||
Top = 2
|
||||
Action = actBajar
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton14: TToolButton
|
||||
Left = 240
|
||||
Top = 2
|
||||
Action = FontEdit1
|
||||
AutoSize = True
|
||||
Wrap = True
|
||||
end
|
||||
object FontName: TJvFontComboBox
|
||||
Left = 0
|
||||
Top = 24
|
||||
Width = 145
|
||||
Height = 22
|
||||
DroppedDownWidth = 145
|
||||
MaxMRUCount = 0
|
||||
FontName = 'Tahoma'
|
||||
ItemIndex = 108
|
||||
Options = [foTrueTypeOnly, foNoOEMFonts, foScalableOnly, foWysiWyg]
|
||||
Sorted = True
|
||||
TabOrder = 2
|
||||
Visible = False
|
||||
OnChange = FontNameChange
|
||||
OnClick = FontNameChange
|
||||
end
|
||||
object FontSize: TEdit
|
||||
Left = 145
|
||||
Top = 24
|
||||
Width = 26
|
||||
Height = 22
|
||||
Hint = 'Font Size|Select font size'
|
||||
TabOrder = 1
|
||||
Text = '0'
|
||||
Visible = False
|
||||
OnChange = FontSizeChange
|
||||
end
|
||||
object UpDown1: TUpDown
|
||||
Left = 171
|
||||
Top = 24
|
||||
Width = 16
|
||||
Height = 22
|
||||
Associate = FontSize
|
||||
TabOrder = 0
|
||||
Visible = False
|
||||
end
|
||||
object ToolButton13: TToolButton
|
||||
Left = 187
|
||||
Top = 24
|
||||
Width = 8
|
||||
Caption = 'ToolButton13'
|
||||
ImageIndex = 10
|
||||
Style = tbsSeparator
|
||||
end
|
||||
object ToolButton6: TToolButton
|
||||
Left = 195
|
||||
Top = 24
|
||||
Action = RichEditBold1
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton7: TToolButton
|
||||
Left = 229
|
||||
Top = 24
|
||||
Action = RichEditItalic1
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton8: TToolButton
|
||||
Left = 263
|
||||
Top = 24
|
||||
Action = RichEditUnderline1
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton12: TToolButton
|
||||
Left = 297
|
||||
Top = 24
|
||||
Width = 8
|
||||
Caption = 'ToolButton12'
|
||||
ImageIndex = 10
|
||||
Style = tbsSeparator
|
||||
end
|
||||
object ToolButton9: TToolButton
|
||||
Left = 305
|
||||
Top = 24
|
||||
Action = RichEditAlignLeft1
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton10: TToolButton
|
||||
Left = 339
|
||||
Top = 24
|
||||
Action = RichEditAlignCenter1
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton11: TToolButton
|
||||
Left = 373
|
||||
Top = 24
|
||||
Action = RichEditAlignRight1
|
||||
AutoSize = True
|
||||
end
|
||||
end
|
||||
object cxGrid: TcxGrid
|
||||
Left = 0
|
||||
Top = 72
|
||||
Width = 451
|
||||
Height = 232
|
||||
Align = alClient
|
||||
TabOrder = 1
|
||||
LookAndFeel.Kind = lfOffice11
|
||||
LookAndFeel.NativeStyle = True
|
||||
object cxGridView: TcxGridDBTableView
|
||||
NavigatorButtons.ConfirmDelete = False
|
||||
FilterBox.Visible = fvNever
|
||||
OnEditing = cxGridViewEditing
|
||||
OnEditKeyDown = cxGridViewEditKeyDown
|
||||
OnEditValueChanged = cxGridViewEditValueChanged
|
||||
OnInitEdit = cxGridViewInitEdit
|
||||
DataController.DataSource = DADataSource
|
||||
DataController.Filter.Options = [fcoCaseInsensitive]
|
||||
DataController.KeyFieldNames = 'ID'
|
||||
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText, dcoFocusTopRowAfterSorting, dcoImmediatePost]
|
||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||
DataController.Summary.FooterSummaryItems = <
|
||||
item
|
||||
Format = ',0.00 '#8364';-,0.00 '#8364
|
||||
Kind = skSum
|
||||
end>
|
||||
DataController.Summary.SummaryGroups = <>
|
||||
OptionsBehavior.AlwaysShowEditor = True
|
||||
OptionsBehavior.CellHints = True
|
||||
OptionsBehavior.FocusCellOnTab = True
|
||||
OptionsBehavior.GoToNextCellOnEnter = True
|
||||
OptionsBehavior.BestFitMaxRecordCount = 20
|
||||
OptionsBehavior.FocusCellOnCycle = True
|
||||
OptionsCustomize.ColumnFiltering = False
|
||||
OptionsCustomize.ColumnGrouping = False
|
||||
OptionsCustomize.ColumnMoving = False
|
||||
OptionsCustomize.ColumnSorting = False
|
||||
OptionsCustomize.DataRowSizing = True
|
||||
OptionsData.Appending = True
|
||||
OptionsData.CancelOnExit = False
|
||||
OptionsSelection.MultiSelect = True
|
||||
OptionsSelection.UnselectFocusedRecordOnExit = False
|
||||
OptionsView.CellEndEllipsis = True
|
||||
OptionsView.CellAutoHeight = True
|
||||
OptionsView.ColumnAutoWidth = True
|
||||
OptionsView.GridLineColor = cl3DLight
|
||||
OptionsView.GroupByBox = False
|
||||
OptionsView.HeaderEndEllipsis = True
|
||||
OptionsView.Indicator = True
|
||||
OptionsView.NewItemRowInfoText = 'Click here to add a new row'
|
||||
Styles.ContentEven = cxStyleEven
|
||||
Styles.ContentOdd = cxStyleOdd
|
||||
Styles.Inactive = cxStyleSelection
|
||||
Styles.Selection = cxStyleSelection
|
||||
Styles.OnGetContentStyle = cxGridViewStylesGetContentStyle
|
||||
object cxGridViewID: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'ID'
|
||||
Visible = False
|
||||
end
|
||||
object cxGridViewPOSICION: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'POSICION'
|
||||
Visible = False
|
||||
SortIndex = 0
|
||||
SortOrder = soAscending
|
||||
end
|
||||
object cxGridViewTIPO: TcxGridDBColumn
|
||||
Caption = 'Tipo'
|
||||
DataBinding.FieldName = 'TIPO_DETALLE'
|
||||
PropertiesClassName = 'TcxImageComboBoxProperties'
|
||||
Properties.Items = <>
|
||||
BestFitMaxWidth = 64
|
||||
Width = 56
|
||||
end
|
||||
object cxGridViewDESCRIPCION: TcxGridDBColumn
|
||||
Caption = 'Concepto'
|
||||
DataBinding.FieldName = 'CONCEPTO'
|
||||
PropertiesClassName = 'TcxRichEditProperties'
|
||||
Width = 224
|
||||
end
|
||||
object cxGridViewCANTIDAD: TcxGridDBColumn
|
||||
Caption = 'Cantidad'
|
||||
DataBinding.FieldName = 'CANTIDAD'
|
||||
PropertiesClassName = 'TcxMaskEditProperties'
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
BestFitMaxWidth = 64
|
||||
HeaderAlignmentHorz = taRightJustify
|
||||
Width = 130
|
||||
end
|
||||
object cxGridViewIMPORTEUNIDAD: TcxGridDBColumn
|
||||
Caption = 'Importe unidad'
|
||||
DataBinding.FieldName = 'IMPORTE_UNIDAD'
|
||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
BestFitMaxWidth = 120
|
||||
FooterAlignmentHorz = taRightJustify
|
||||
HeaderAlignmentHorz = taRightJustify
|
||||
Width = 130
|
||||
end
|
||||
object cxGridViewIMPORTETOTAL: TcxGridDBColumn
|
||||
Caption = 'Importe total'
|
||||
DataBinding.FieldName = 'IMPORTE_TOTAL'
|
||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
BestFitMaxWidth = 120
|
||||
HeaderAlignmentHorz = taRightJustify
|
||||
Options.Editing = False
|
||||
Width = 130
|
||||
end
|
||||
object cxGridViewVISIBLE: TcxGridDBColumn
|
||||
Caption = #191'Visible?'
|
||||
DataBinding.FieldName = 'VISIBLE'
|
||||
PropertiesClassName = 'TcxCheckBoxProperties'
|
||||
Properties.Alignment = taCenter
|
||||
Properties.DisplayChecked = '1'
|
||||
Properties.DisplayUnchecked = '0'
|
||||
Properties.Glyph.Data = {
|
||||
92030000424D9203000000000000920100002800000020000000100000000100
|
||||
08000000000000020000120B0000120B0000570000005700000000000000FFFF
|
||||
FF0040384000703840008048500090586000C0606000A0505000804040006030
|
||||
30009050500070404000A060600090606000A0707000B0808000C09090004030
|
||||
3000E0B0B000B0909000FFF0F000FF787000E0787000C0686000FF9890009048
|
||||
4000A0585000D0888000E0989000E0706000FF80700080484000A0686000FFA0
|
||||
9000FF887000B060500070484000FFB0A000C0989000D0A8A000E0B8B000FF98
|
||||
8000A0605000FFC0B000F0C0B00080686000F0D8D000B0908000E0C8B000E0D8
|
||||
D000FFE0C000FFF8F000F0E0C000FFF0D000FFF8E00020283000FEFEFE00FAFA
|
||||
FA00F7F7F700F3F3F300F1F1F100F0F0F000EDEDED00EAEAEA00E7E7E700E6E6
|
||||
E600E3E3E300E0E0E000DADADA00D7D7D700D3D3D300D0D0D000CDCDCD00C9C9
|
||||
C900C6C6C600C4C4C400C3C3C300C0C0C000BEBEBE00BCBCBC00B9B9B900B7B7
|
||||
B700B3B3B300AEAEAE00ACACAC00A6A6A600FFFFFF0056565656565656565656
|
||||
5656565656565656565656565656565656565656565656565656565656565656
|
||||
5656565656565656565656565656565656565656565656565656565656565656
|
||||
5656565656565656565656565656565656565656565656565656565656565656
|
||||
5656565656565656565656565656565656565656565656565656404040444C4C
|
||||
463D5656565656565656122830262D2D2F325656565644444444433E4145474A
|
||||
50463B404456101010102734181D061A242F35122656564646443A3F434A544C
|
||||
49493A3C4646560F0F10362C1507110A2320362E0F0F56564845394341535554
|
||||
44473944484856560E13331C21023711161714260E0E5656564A3E403E38544A
|
||||
4344464B4B565656560D31122B01111A1E1B0F050556565656564E49423F4343
|
||||
434A4E4E565656565656040C2925221E1E2A04045656565656565650504F4D4F
|
||||
50505056565656565656560B0B1F19080B0B0B56565656565656565652505151
|
||||
505656565656565656565656090B03030B565656565656565656565656565656
|
||||
5656565656565656565656565656565656565656565656565656565656565656
|
||||
5656565656565656565656565656565656565656565656565656565656565656
|
||||
5656565656565656565656565656565656565656565656565656565656565656
|
||||
56565656565656565656565656565656565656565656}
|
||||
Properties.GlyphCount = 2
|
||||
Properties.ImmediatePost = True
|
||||
Properties.NullStyle = nssUnchecked
|
||||
Properties.ValueChecked = 1
|
||||
Properties.ValueUnchecked = 0
|
||||
Visible = False
|
||||
FooterAlignmentHorz = taCenter
|
||||
HeaderAlignmentHorz = taCenter
|
||||
end
|
||||
end
|
||||
object cxGridLevel: TcxGridLevel
|
||||
GridView = cxGridView
|
||||
end
|
||||
end
|
||||
object TBXDock1: TTBXDock
|
||||
Left = 0
|
||||
Top = 46
|
||||
Width = 451
|
||||
Height = 26
|
||||
BackgroundOnToolbars = False
|
||||
UseParentBackground = True
|
||||
object TBXToolbar1: TTBXToolbar
|
||||
Left = 0
|
||||
Top = 0
|
||||
Caption = 'TBXToolbar1'
|
||||
DragHandleStyle = dhNone
|
||||
Images = ContenidoImageList
|
||||
TabOrder = 0
|
||||
object TBXItem1: TTBXItem
|
||||
Action = actAnadir
|
||||
DisplayMode = nbdmImageAndText
|
||||
Images = ContenidoImageList
|
||||
end
|
||||
object TBXItem2: TTBXItem
|
||||
Action = actEliminar
|
||||
DisplayMode = nbdmImageAndText
|
||||
Images = ContenidoImageList
|
||||
end
|
||||
object TBXSeparatorItem1: TTBXSeparatorItem
|
||||
end
|
||||
object TBXItem3: TTBXItem
|
||||
Action = actSubir
|
||||
DisplayMode = nbdmImageAndText
|
||||
end
|
||||
object TBXItem4: TTBXItem
|
||||
Action = actBajar
|
||||
DisplayMode = nbdmImageAndText
|
||||
end
|
||||
object TBXSeparatorItem2: TTBXSeparatorItem
|
||||
end
|
||||
object TBXItem5: TTBXItem
|
||||
Action = RichEditBold1
|
||||
end
|
||||
object TBXItem6: TTBXItem
|
||||
Action = RichEditItalic1
|
||||
end
|
||||
object TBXItem7: TTBXItem
|
||||
Action = RichEditUnderline1
|
||||
end
|
||||
object TBXSeparatorItem4: TTBXSeparatorItem
|
||||
end
|
||||
object TBXItem9: TTBXItem
|
||||
Action = RichEditAlignLeft1
|
||||
end
|
||||
object TBXItem10: TTBXItem
|
||||
Action = RichEditAlignCenter1
|
||||
end
|
||||
object TBXItem11: TTBXItem
|
||||
Action = RichEditAlignRight1
|
||||
end
|
||||
object TBXSeparatorItem3: TTBXSeparatorItem
|
||||
end
|
||||
object TBXItem8: TTBXItem
|
||||
Action = FontEdit1
|
||||
end
|
||||
object TBXSeparatorItem5: TTBXSeparatorItem
|
||||
end
|
||||
object TBXItem13: TTBXItem
|
||||
Action = actAnchoAutomatico
|
||||
DisplayMode = nbdmImageAndText
|
||||
end
|
||||
end
|
||||
end
|
||||
object ActionListContenido: TActionList
|
||||
Images = ContenidoImageList
|
||||
Left = 8
|
||||
Top = 104
|
||||
object actAnadir: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'A'#241'adir'
|
||||
ImageIndex = 0
|
||||
ShortCut = 45
|
||||
OnExecute = actAnadirExecute
|
||||
OnUpdate = actAnadirUpdate
|
||||
end
|
||||
object actEliminar: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'Eliminar'
|
||||
ImageIndex = 1
|
||||
ShortCut = 16430
|
||||
OnExecute = actEliminarExecute
|
||||
OnUpdate = actEliminarUpdate
|
||||
end
|
||||
object actSubir: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'Subir'
|
||||
ImageIndex = 2
|
||||
OnExecute = actSubirExecute
|
||||
OnUpdate = actSubirUpdate
|
||||
end
|
||||
object actBajar: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'Bajar'
|
||||
ImageIndex = 3
|
||||
OnExecute = actBajarExecute
|
||||
OnUpdate = actBajarUpdate
|
||||
end
|
||||
object RichEditBold1: TRichEditBold
|
||||
Category = 'Format'
|
||||
AutoCheck = True
|
||||
Hint = 'Negrita'
|
||||
ImageIndex = 4
|
||||
ShortCut = 16450
|
||||
end
|
||||
object RichEditItalic1: TRichEditItalic
|
||||
Category = 'Format'
|
||||
AutoCheck = True
|
||||
Hint = 'Cursiva'
|
||||
ImageIndex = 5
|
||||
ShortCut = 16457
|
||||
end
|
||||
object RichEditUnderline1: TRichEditUnderline
|
||||
Category = 'Format'
|
||||
AutoCheck = True
|
||||
Hint = 'Subrayado'
|
||||
ImageIndex = 6
|
||||
ShortCut = 16469
|
||||
end
|
||||
object RichEditAlignLeft1: TRichEditAlignLeft
|
||||
Category = 'Format'
|
||||
AutoCheck = True
|
||||
Hint = 'Alinear a la izquierda'
|
||||
ImageIndex = 7
|
||||
end
|
||||
object RichEditAlignCenter1: TRichEditAlignCenter
|
||||
Category = 'Format'
|
||||
AutoCheck = True
|
||||
Hint = 'Center|Centers text between margins'
|
||||
ImageIndex = 8
|
||||
end
|
||||
object RichEditAlignRight1: TRichEditAlignRight
|
||||
Category = 'Format'
|
||||
AutoCheck = True
|
||||
Hint = 'Align Right|Aligns text at the right indent'
|
||||
ImageIndex = 9
|
||||
end
|
||||
object FontEdit1: TFontEdit
|
||||
Category = 'Dialog'
|
||||
Dialog.Font.Charset = DEFAULT_CHARSET
|
||||
Dialog.Font.Color = clWindowText
|
||||
Dialog.Font.Height = -11
|
||||
Dialog.Font.Name = 'Tahoma'
|
||||
Dialog.Font.Style = []
|
||||
Enabled = False
|
||||
Hint = 'Formato de fuente'
|
||||
ImageIndex = 10
|
||||
BeforeExecute = FontEdit1BeforeExecute
|
||||
OnAccept = FontEdit1Accept
|
||||
end
|
||||
object RichEditAlignRight2: TRichEditAlignRight
|
||||
Category = 'Format'
|
||||
AutoCheck = True
|
||||
Caption = 'Align &Right'
|
||||
Hint = 'Align Right|Aligns text at the right indent'
|
||||
ImageIndex = 11
|
||||
end
|
||||
object actAnchoAutomatico: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'Ancho autom'#225'tico'
|
||||
ImageIndex = 11
|
||||
OnExecute = actAnchoAutomaticoExecute
|
||||
OnUpdate = actAnchoAutomaticoUpdate
|
||||
end
|
||||
end
|
||||
object DADataSource: TDADataSource
|
||||
Left = 8
|
||||
Top = 136
|
||||
end
|
||||
object ContenidoImageList: TPngImageList
|
||||
PngImages = <
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000D04944415478DA
|
||||
6364C0062630FCC72A5EC0C0882EC488CB80191909706EDDBA750CAF767D6260
|
||||
5830240DF8F9FB3743EBE6CD780CC011602003409A7F0071EF8E1D10030C30D5
|
||||
31A23B1706609AB1E23F7FC0F4FA2967B01B408CE6A3B76E815D856100319ABF
|
||||
FFFAC570EEC103540340218D0C92EDECE01AD79E398335ACE106305CC0942CAC
|
||||
77871BB0F5E2454820620138A331D3CB09EEECBD57AF929E0E629DADC106FCF9
|
||||
F70F1E602419106A67C6F01DE40260805D7AFC9874037C2C0D194EDDBD8B1260
|
||||
241900A6D103178B01000648ED7B1FCA93F30000000049454E44AE426082}
|
||||
Name = 'PngImage0'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD2520000006E4944415478DA
|
||||
63FCFFFF3F03258071D40006C6397A1214990036203925952CCD73E7CCC66100
|
||||
C85BBF7F32307CFDC4C0F0FD2B03C33710FD05487F46E0374F19E6FE964032E0
|
||||
CF6F840120CD200D5F3F43357E42F0416C90013FBFA119B0B099742FC00CA028
|
||||
10073E1D0C7D030077CE5E397DD56C480000000049454E44AE426082}
|
||||
Name = 'PngImage1'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000E14944415478DA
|
||||
63FCFFFF3F032580717019C0C8C88822E9D770F9FFA6065D1441740B711A00D2
|
||||
1C1DA5CA307DC64586037DE68C241900D3FCF10B23C39123CF19AE5EBECF7076
|
||||
B623235106206BFEF899114C3FBAFB94E1C4D1AB0CB7567A33E235C0BFF1CAFF
|
||||
9F3F7F3380B0B7BF2158F3BB8F4C0C7B36EE60F8F9E317C30F207EB1238C91A0
|
||||
17AC728EFC77F234076BFEF2E631C3C1BDE7191E6E0C24CE0B20609CBAFFBFB9
|
||||
A31DD0004606B6DF8F18766E3DC9F0726738F106E8C6EFFA6F68AC0617DFB8F6
|
||||
30C3C783B1C41BA016BEF53FCCCF30FCF364326103C801C3C00000BEA5B3E15D
|
||||
7F64240000000049454E44AE426082}
|
||||
Name = 'PngImage2'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000DF4944415478DA
|
||||
63FCFFFF3F032580717019C0C8C808A643DA6E80057FFDFACDF0F327041FE833
|
||||
074BA25B88D380982805869FBF18183E7E61645830EF34C3B12936C41BE0D770
|
||||
F97F74942A58F39123CF19AE5EBECF7076B623F106B8579EFB1F1CAACDF0F133
|
||||
23C3E58BCF18CE9FBDC57079A11B6103FC1BAFFC87F9D9DBDF10EC8247779F32
|
||||
9C387A95E1E78F5F0C3F80F8C58E3046BC2E70283AF91FA6F9DD472620666460
|
||||
FBFD8861E7D6930C2F77863312E505E3D4FDFFCD1DED3034131D0620A016BEF5
|
||||
BF85B5368A66920C000171F795FF91351334801C300C0C00007FBCB4E1E577C7
|
||||
9A0000000049454E44AE426082}
|
||||
Name = 'PngImage3'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001984944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5360BD30046
|
||||
C399181A59989918A23C55181A328C1804F9D8C0069CBD7C07BB01C886FC3F9F
|
||||
CEF00F28BF7AD75D86888ABD0CEC6CCC0C8F774430FCF9F38FE1E2F57B840DF8
|
||||
7B2E0DACF8C7AF3F0CFC360BC006DCDF120676C1B5DB0F091BF0F3540AC3C3E7
|
||||
9F19DAE79D6758B6FD2E4353A6114384BB22D0D0BF0CB7EE3F216C003288F254
|
||||
66288BD765E0E56206BAE01FC3FDC7CFB01B00F233B3D12C30FBFDA138B0730F
|
||||
9C7ECE1056BE8FC1C954926172991958ECF9ABD79806803483FCCC6E36076CC0
|
||||
8B3D5160C52031459FD560B10BCB7DC02E78F3EE2DAA01317E56F038E6B75908
|
||||
567C6D6D1003273B33C396C38F18723B4F32B0B332311C99E70156F3F1D30754
|
||||
03C2BDCC51342303666646066F1B1986EC5035065E6E16B0BA6FDF3EA31A10E4
|
||||
6602762ACC1570F6EFBF503184DCBF7FFF197EFCF8826A809F9311C3A98BB748
|
||||
CA4C700340B971E28CA524E7C6FC8CE81800E35A4E592A9A5C6B000000004945
|
||||
4E44AE426082}
|
||||
Name = 'PngImage4'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001844944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5360BB7010B
|
||||
37DF6248A8DB0FE7CB4BF2325C5D1B0237E0ECE53BF80D0081C69967191A669C
|
||||
6188F35163985C61C5F0EF1FC4057FFEFC63B878FD1E6103744357335CB9F38E
|
||||
61CB240F066B0331B866107DEDF643FC067CFFF98781CB622E98FD745714032B
|
||||
0B235CF31F20BE75FF096E03FE01C5CE5D7FC3601ABD8E41535180E1E05C6F14
|
||||
CDBF81ECFB8F9F613700A419A478C9D65B0CC98D871862BC5518BAF24DE19A7F
|
||||
005D06623F7FF51AD30098669082CA49A71826AFB8CAD05D68CA10E2AC0009FD
|
||||
DF7FA1B1F08FE1CDBBB7A806C4F859C1A3E8DDC79F0C0185BB182EDE7AC7B0BE
|
||||
D799415B991F453388FEF8E903AA01E15EE6608993975F31B8656E4709D02D13
|
||||
9D1964C438E19A41F8DBB7CFA80604B999C09D8F1C5DE83683F0BF7FFF197EFC
|
||||
F8826A809F9311C3A98BB748CA4C700340B971E28CA524E7C6FC8CE818000A3C
|
||||
81590C9B58CC0000000049454E44AE426082}
|
||||
Name = 'PngImage5'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001854944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4806100A3E14C140DFFCFA763887F3C12
|
||||
CF70ECEC0D86AAB65998067CFCF28B41C0763E98FDE6403C83303F07C33FA09A
|
||||
B71F7E3088392D62B8BB259C81978B85E1ECE53BD80D40B60D643B48F39F3F10
|
||||
67F358CD6778B52F1ACCBF78FD1E6103FE9E4B836B066141BB450CCF764582D9
|
||||
D76E3F246CC0CF532970CD202CE6B494E1E1B630A0A17F196EDD7F42D880B707
|
||||
E318981819C09ADF7DFCC9A011B886E1EEA66020FF1FC3FDC7CFB01B00F2B356
|
||||
D02A869B0F3E305424EA3364846A80BDD1B5F012C3D53BEF1966D558820D7CFE
|
||||
EA35A601B000BBF5F00343CDD4D30C07CE3C07C70A1F372B838BB91443419426
|
||||
90CD0276C19B776F510D88F1B382FB1539E0E0ECDFB0B080F03F7EFA806A40B8
|
||||
97395882DF6621C1D47870B60BC3B76F9F510D08723321CA6610FEF7EF3FC38F
|
||||
1F5F500DF07332623875F1164999096E0028374E9CB194E4DC989F111D03002B
|
||||
D67559EB1C43180000000049454E44AE426082}
|
||||
Name = 'PngImage6'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000F94944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5368B3803FE
|
||||
01D5FCF983D00CC2672FDFC134809B9B1BAF0B9EBE7803D60C32ECE2F57B845D
|
||||
80CD6618FFDAED87A4BB00062EDF78C870EBFE13DC2EC067F31F30FF1FC3FDC7
|
||||
CF487701C8E61F3FFF800D7AFEEA35A601E836FFFCF507C5F6DFBF612EFAC7F0
|
||||
E6DD5B540362FCAC18F8F978890A833D47AF327CFCF401D580702F7354DB70D8
|
||||
0C93FBF6ED33AA01416E26446BFEF7EF3FC38F1F5F500DF07332623875F11651
|
||||
5E8001B801A0DC3871C6529273637E46740C002BB66C59EAC44C620000000049
|
||||
454E44AE426082}
|
||||
Name = 'PngImage7'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001004944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5368B3803FE
|
||||
01D5FCF983D00CC2672FDFC16D0037373756839EBE7803D60C32ECE2F57B845D
|
||||
80CD6618FFDAED879806E0B2191D5CBEF190E1D6FD27B85D80CFE63F60FE3F86
|
||||
FB8F9F613700A499978707A7CD3F7EFE011BF4FCD56B4C03D06DFEF9EB0F8AED
|
||||
BF7FC35CF48FE1CDBBB7A806C4F85931F0F3F11215067B8E5E65F8F8E903AA01
|
||||
E15EE6A8B6E1B01926F7EDDB67540382DC4C88D6FCEFDF7F861F3FBEA01AE0E7
|
||||
64C470EAE22DA2BC0003700340B971E28CA524E7C6FC8CE8180048E16F597BCE
|
||||
9D230000000049454E44AE426082}
|
||||
Name = 'PngImage8'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000FC4944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC4409201C89A8F9DBDC150D5368B3803FE
|
||||
01D5FCF983D00CC2672FDFC16D003737375E97DC79F09CE1E2F57B845D80CD66
|
||||
18FFDAED87980610B219062EDF78C870EBFE13DC2EC067F31F30FF1FC3FDC7CF
|
||||
B01B00D2CCCBC383D705C7CEDE6278FEEA35A601E836FFFCF507C5F6DFBF612E
|
||||
FAC7F0E6DD5B540362FCAC18F8F978890A833D47AF327CFCF401D580702F7354
|
||||
DB70D80C93FBF6ED33AA01416E26446BFEF7EF3FC38F1F5F500DF07332623875
|
||||
F116515E8001B801A0DC3871C6529273637E46740C0021BE635977EAA72D0000
|
||||
000049454E44AE426082}
|
||||
Name = 'PngImage9'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001CB4944415478DA
|
||||
63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440
|
||||
1BA234FDF9FB8FE1F79FBF60EC105CC480D580CAA3950C4B6E2C61789CFC18A7
|
||||
E663676F3054B5CDC234E0EFFFBF0C327364185E7C7BC17020E40083BDB43DC3
|
||||
3FA09A3F7F109A41F8ECE53BD80D587B672D43CBA916860BAF2F3024682530CC
|
||||
759987A119C4BF78FD1E76031CD73A324CB09FC0E0B0C681E1CFBF3F0C8F129E
|
||||
32B0317280350ADA2D6278B62B12CCBE76FB21A60137DFDF64D058A481E2EFB9
|
||||
4E0B188214C2C09A41E0E1B630A00BFE32DCBAFF04D380C243850C06A2060CB1
|
||||
1A710C871E1F61705C6FC7E020E5C470A02D0C6CB394DB7286BB9B82812EF8C7
|
||||
70FFF13354034CED04194C969B303C4B7DCEC0CDC40B76A6DA52258667536B19
|
||||
562D92623017B16190F75AC57075B53F58EEF9ABD7A806347E886578F0E90183
|
||||
3CAF02C3D5C89B0C69FB531896555B63A4830BCB7DC02E78F3EE2DAA01317E56
|
||||
28A12CECB098E1F18E70440CFCFECBA01DBA91E1F4622F30FFE3A70FA806847B
|
||||
99A36886815B1B82E09A61E0E06C17866FDF3EA31A10E4668212DFC83643C410
|
||||
72FFFEFD67F8F1E30BAA017E4E460CA72EDE222933C10D00E5C6893396929C1B
|
||||
F333A26300FC1C815930D4A9C10000000049454E44AE426082}
|
||||
Name = 'PngImage10'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001124944415478DA
|
||||
63FCFFFF3F03258091620340848147C2FF0B3B1630A24B1223CE08E20CAC0B28
|
||||
0A0098010B361C807BE3E7CF5F0C5FBF7D63F8F2ED3B98D65455C62ADE599ACC
|
||||
886240BCBF3D58E19FBFFF18BE7DFFC5F0EDC72F86D6A98B1826D7E760159FD2
|
||||
908B69C0EF3F7F810A7E337C072ABC71FF15C3FC556B1916F69463155FD45B81
|
||||
3060DAF21DFF93835D18BEFF80D8F0FDC71F8647CFDF334C9CB38061E5D446AC
|
||||
E21B66B7220CE89AB3EE7F6AA80754D16F862F409BDE7FFCC6D0D43F8561DDCC
|
||||
76ACE2FB574C4418503771F1FFB4085F86DB0F5EA3847049633BC3C6F97D58C5
|
||||
CF6E9B8730A0A86DE6FF6FC0D0FDF4F90BC3E72F5FA1F417867FFFFE33589818
|
||||
601587A78381CF4C941A00005C20FBD97F751C0A0000000049454E44AE426082}
|
||||
Name = 'PngImage11'
|
||||
Background = clWindow
|
||||
end>
|
||||
Left = 40
|
||||
Top = 112
|
||||
Bitmap = {}
|
||||
end
|
||||
object cxStyleRepository: TcxStyleRepository
|
||||
Left = 8
|
||||
Top = 168
|
||||
object cxStyleEven: TcxStyle
|
||||
end
|
||||
object cxStyleOdd: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = 16119285
|
||||
end
|
||||
object cxStyleSelection: TcxStyle
|
||||
AssignedValues = [svColor, svTextColor]
|
||||
Color = clHighlight
|
||||
TextColor = clHighlightText
|
||||
end
|
||||
object cxStyle_IMPORTETOTAL: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = clInactiveCaptionText
|
||||
end
|
||||
object cxStyle_SUBTOTAL: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = cl3DLight
|
||||
end
|
||||
object cxStyle_TITULO: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = clMenuBar
|
||||
end
|
||||
end
|
||||
end
|
||||
746
Source/GUIBase/uViewDetallesBase.pas
Normal file
746
Source/GUIBase/uViewDetallesBase.pas
Normal file
@ -0,0 +1,746 @@
|
||||
unit uViewDetallesBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, cxStyles, ComCtrls, ToolWin, ActnList, cxCustomData,
|
||||
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
|
||||
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ImgList,
|
||||
PngImageList, cxGrid, cxImageComboBox, cxTextEdit, cxMaskEdit, cxCheckBox,
|
||||
uGridUtils, uControllerDetallesBase, cxCurrencyEdit, ExtCtrls, Grids, DBGrids, StdCtrls,
|
||||
ExtActns, StdActns, cxRichEdit, JvExStdCtrls, JvCombobox, JvColorCombo,
|
||||
TB2Item, TBX, TB2Dock, TB2Toolbar;
|
||||
|
||||
type
|
||||
IViewDetallesBase = interface(IViewBase)
|
||||
['{852EB860-13B6-4355-A6B0-4542AB16896F}']
|
||||
procedure ExpandirTodo;
|
||||
procedure ContraerTodo;
|
||||
procedure AjustarAncho;
|
||||
|
||||
procedure SaveGridStatus;
|
||||
procedure RestoreGridStatus;
|
||||
|
||||
procedure BeginUpdate;
|
||||
procedure EndUpdate;
|
||||
|
||||
function IsEmpty : Boolean;
|
||||
|
||||
function GetFocusedView : TcxGridDBTableView;
|
||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
||||
|
||||
function GetGrid : TcxGrid;
|
||||
property _Grid : TcxGrid read GetGrid;
|
||||
end;
|
||||
|
||||
TfrViewDetallesBase = class(TfrViewBase, IViewDetallesBase)
|
||||
ActionListContenido: TActionList;
|
||||
DADataSource: TDADataSource;
|
||||
actAnadir: TAction;
|
||||
actEliminar: TAction;
|
||||
actSubir: TAction;
|
||||
actBajar: TAction;
|
||||
ContenidoImageList: TPngImageList;
|
||||
ToolBar1: TToolBar;
|
||||
cxStyleRepository: TcxStyleRepository;
|
||||
cxStyleEven: TcxStyle;
|
||||
cxStyleOdd: TcxStyle;
|
||||
cxStyleSelection: TcxStyle;
|
||||
ToolButton1: TToolButton;
|
||||
ToolButton2: TToolButton;
|
||||
ToolButton3: TToolButton;
|
||||
ToolButton4: TToolButton;
|
||||
cxGrid: TcxGrid;
|
||||
cxGridView: TcxGridDBTableView;
|
||||
cxGridViewID: TcxGridDBColumn;
|
||||
cxGridViewPOSICION: TcxGridDBColumn;
|
||||
cxGridViewTIPO: TcxGridDBColumn;
|
||||
cxGridViewDESCRIPCION: TcxGridDBColumn;
|
||||
cxGridViewCANTIDAD: TcxGridDBColumn;
|
||||
cxGridViewIMPORTEUNIDAD: TcxGridDBColumn;
|
||||
cxGridViewIMPORTETOTAL: TcxGridDBColumn;
|
||||
cxGridViewVISIBLE: TcxGridDBColumn;
|
||||
cxGridLevel: TcxGridLevel;
|
||||
RichEditBold1: TRichEditBold;
|
||||
RichEditItalic1: TRichEditItalic;
|
||||
ToolButton6: TToolButton;
|
||||
ToolButton7: TToolButton;
|
||||
RichEditUnderline1: TRichEditUnderline;
|
||||
RichEditAlignLeft1: TRichEditAlignLeft;
|
||||
RichEditAlignRight1: TRichEditAlignRight;
|
||||
RichEditAlignCenter1: TRichEditAlignCenter;
|
||||
ToolButton8: TToolButton;
|
||||
ToolButton9: TToolButton;
|
||||
ToolButton10: TToolButton;
|
||||
ToolButton11: TToolButton;
|
||||
ToolButton12: TToolButton;
|
||||
ToolButton13: TToolButton;
|
||||
FontEdit1: TFontEdit;
|
||||
ToolButton14: TToolButton;
|
||||
UpDown1: TUpDown;
|
||||
FontSize: TEdit;
|
||||
FontName: TJvFontComboBox;
|
||||
TBXDock1: TTBXDock;
|
||||
TBXToolbar1: TTBXToolbar;
|
||||
TBXItem1: TTBXItem;
|
||||
TBXItem2: TTBXItem;
|
||||
TBXSeparatorItem1: TTBXSeparatorItem;
|
||||
TBXItem3: TTBXItem;
|
||||
TBXItem4: TTBXItem;
|
||||
TBXSeparatorItem2: TTBXSeparatorItem;
|
||||
TBXItem5: TTBXItem;
|
||||
TBXItem6: TTBXItem;
|
||||
TBXItem7: TTBXItem;
|
||||
TBXSeparatorItem3: TTBXSeparatorItem;
|
||||
TBXItem8: TTBXItem;
|
||||
TBXSeparatorItem4: TTBXSeparatorItem;
|
||||
TBXItem9: TTBXItem;
|
||||
TBXItem10: TTBXItem;
|
||||
TBXItem11: TTBXItem;
|
||||
cxStyle_IMPORTETOTAL: TcxStyle;
|
||||
cxStyle_SUBTOTAL: TcxStyle;
|
||||
cxStyle_TITULO: TcxStyle;
|
||||
RichEditAlignRight2: TRichEditAlignRight;
|
||||
actAnchoAutomatico: TAction;
|
||||
TBXSeparatorItem5: TTBXSeparatorItem;
|
||||
TBXItem13: TTBXItem;
|
||||
|
||||
procedure actAnadirExecute(Sender: TObject);
|
||||
procedure actEliminarExecute(Sender: TObject);
|
||||
procedure actSubirExecute(Sender: TObject);
|
||||
procedure actBajarExecute(Sender: TObject);
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actSubirUpdate(Sender: TObject);
|
||||
procedure actBajarUpdate(Sender: TObject);
|
||||
procedure actAnadirUpdate(Sender: TObject);
|
||||
|
||||
procedure cxGridViewEditValueChanged(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
|
||||
procedure cxGridViewEditKeyDown(Sender: TcxCustomGridTableView;
|
||||
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
|
||||
procedure cxGridViewInitEdit(Sender: TcxCustomGridTableView;
|
||||
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit);
|
||||
procedure FontEdit1BeforeExecute(Sender: TObject);
|
||||
procedure FontEdit1Accept(Sender: TObject);
|
||||
|
||||
procedure CustomViewCreate(Sender: TObject);
|
||||
procedure CustomViewDestroy(Sender: TObject);
|
||||
procedure FontSizeChange(Sender: TObject);
|
||||
procedure FontNameChange(Sender: TObject);
|
||||
|
||||
procedure cxGridViewEditing(Sender: TcxCustomGridTableView;
|
||||
AItem: TcxCustomGridTableItem; var AAllow: Boolean);
|
||||
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
|
||||
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
|
||||
out AStyle: TcxStyle);
|
||||
procedure TBXItem13Click(Sender: TObject);
|
||||
procedure actAnchoAutomaticoExecute(Sender: TObject);
|
||||
procedure actAnchoAutomaticoUpdate(Sender: TObject);
|
||||
|
||||
private
|
||||
FController : IControllerDetallesBase;
|
||||
FDetalles: IDAStronglyTypedDataTable;
|
||||
FGridStatus: TcxGridStatus;
|
||||
CurEdit: TcxRichEdit;
|
||||
FUpdating: Boolean;
|
||||
function CurrText: TTextAttributes;
|
||||
procedure OnSelectChange(Sender:TObject);
|
||||
|
||||
function GetController: IControllerDetallesBase;
|
||||
procedure SetController(const Value: IControllerDetallesBase);
|
||||
function GetDetalles: IDAStronglyTypedDataTable;
|
||||
procedure SetDetalles(const Value: IDAStronglyTypedDataTable);
|
||||
|
||||
function darPosicionCAMPO(const Nombre:String): Integer;
|
||||
function darListaSeleccionados: TIntegerArray;
|
||||
|
||||
protected
|
||||
function HayQueRecalcular(AItem: TcxCustomGridTableItem): Boolean; virtual;
|
||||
function EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean; virtual;
|
||||
function darTipoLetraPorDefecto: TFont; virtual;
|
||||
function GetFocusedView : TcxGridDBTableView; virtual;
|
||||
function GetGrid : TcxGrid; virtual;
|
||||
procedure SeleccionarRowActual;
|
||||
|
||||
public
|
||||
procedure BeginUpdate;
|
||||
procedure EndUpdate;
|
||||
procedure SaveGridStatus;
|
||||
procedure RestoreGridStatus;
|
||||
procedure ExpandirTodo;
|
||||
procedure ContraerTodo;
|
||||
procedure AjustarAncho;
|
||||
function IsEmpty : Boolean;
|
||||
destructor Destroy; override;
|
||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
||||
property _Grid : TcxGrid read GetGrid;
|
||||
property Controller: IControllerDetallesBase read GetController write SetController;
|
||||
property Detalles: IDAStronglyTypedDataTable read GetDetalles write SetDetalles;
|
||||
|
||||
end;
|
||||
|
||||
implementation
|
||||
{$R *.dfm}
|
||||
|
||||
function EnumFontsProc(var LogFont: TLogFont; var TextMetric: TTextMetric;
|
||||
FontType: Integer; Data: Pointer): Integer; stdcall;
|
||||
begin
|
||||
TStrings(Data).Add(LogFont.lfFaceName);
|
||||
Result := 1;
|
||||
end;
|
||||
|
||||
|
||||
procedure TfrViewDetallesBase.actAnadirExecute(Sender: TObject);
|
||||
var
|
||||
bEsMultiSelect : Boolean;
|
||||
begin
|
||||
// Debo quitar el multiselect porque provoca que se quede seleccionado
|
||||
// el registro actual y no el nuevo registro que voy a añadir
|
||||
bEsMultiSelect := cxGridView.OptionsSelection.MultiSelect;
|
||||
if bEsMultiSelect then
|
||||
cxGridView.OptionsSelection.MultiSelect := False;
|
||||
|
||||
cxGridView.BeginUpdate;
|
||||
try
|
||||
if cxGridView.Controller.EditingController.IsEditing then
|
||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
||||
|
||||
if Assigned(Controller)
|
||||
and Assigned(FDetalles) then
|
||||
Controller.add(FDetalles, TIPO_DETALLE_CONCEPTO);
|
||||
finally
|
||||
cxGridView.EndUpdate;
|
||||
|
||||
// Dejo la propiedad MultiSelect como estaba
|
||||
if bEsMultiSelect then
|
||||
cxGridView.OptionsSelection.MultiSelect := bEsMultiSelect;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.actEliminarExecute(Sender: TObject);
|
||||
var
|
||||
AuxTop, AuxRow:Integer;
|
||||
|
||||
begin
|
||||
cxGridView.BeginUpdate;
|
||||
try
|
||||
if Assigned(Controller)
|
||||
and Assigned(FDetalles) then
|
||||
begin
|
||||
AuxTop := cxGridView.Controller.TopRowIndex;
|
||||
AuxRow := cxGridView.DataController.FocusedRowIndex;
|
||||
|
||||
Controller.delete(FDetalles, darListaSeleccionados);
|
||||
|
||||
if(FDetalles.RecordCount > 0) then
|
||||
begin
|
||||
//Selecciona en el grid el registro siguiente
|
||||
if (AuxRow < cxGridView.DataController.RowCount-1) then
|
||||
Inc(AuxRow)
|
||||
else
|
||||
Dec(AuxRow);
|
||||
|
||||
cxGridView.DataController.SelectRows(AuxRow,AuxRow);
|
||||
cxGridView.Controller.TopRowIndex := AuxTop;
|
||||
end;
|
||||
end
|
||||
finally
|
||||
cxGridView.EndUpdate;
|
||||
end;
|
||||
|
||||
SeleccionarRowActual;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
if not Assigned(DADataSource.DataTable) then
|
||||
(Sender as TAction).Enabled := False
|
||||
else
|
||||
(Sender as TAction).Enabled := (not ReadOnly)
|
||||
and (not DADataSource.DataTable.IsEmpty)
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.actSubirUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if not Assigned(cxGridView.Controller.FocusedRow) then
|
||||
(Sender as TAction).Enabled := False
|
||||
else
|
||||
(Sender as TAction).Enabled := (not ReadOnly)
|
||||
and (not cxGridView.Controller.FocusedRow.IsFirst)
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.AjustarAncho;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.ApplyBestFit;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.BeginUpdate;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.BeginUpdate;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.darTipoLetraPorDefecto: TFont;
|
||||
begin
|
||||
Result := TFont.Create;
|
||||
Result.Name := 'Tahoma';
|
||||
Result.Size := 9;
|
||||
end;
|
||||
|
||||
destructor TfrViewDetallesBase.Destroy;
|
||||
begin
|
||||
FController := NIL;
|
||||
FDetalles := NIL;
|
||||
|
||||
if Assigned(FGridStatus) then
|
||||
FreeAndNil(FGridStatus);
|
||||
inherited;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.ContraerTodo;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.ViewData.Collapse(True);
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.CurrText: TTextAttributes;
|
||||
begin
|
||||
Result := NIL;
|
||||
if Assigned(CurEdit) then
|
||||
// if CurEdit.FindSelection then
|
||||
if CurEdit.SelLength > 0 then
|
||||
Result := CurEdit.SelAttributes
|
||||
else
|
||||
Result := CurEdit.DefAttributes;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.CustomViewCreate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
CurEdit := Nil;
|
||||
FUpdating := False;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.CustomViewDestroy(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
CurEdit := Nil;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.cxGridViewEditing(Sender: TcxCustomGridTableView;
|
||||
AItem: TcxCustomGridTableItem; var AAllow: Boolean);
|
||||
begin
|
||||
AAllow := EsTipoEditable(AItem);
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.cxGridViewEditKeyDown(
|
||||
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
|
||||
AEdit: TcxCustomEdit; var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
inherited;
|
||||
cxGridView.BeginUpdate;
|
||||
try
|
||||
Case Key of
|
||||
VK_DOWN : begin
|
||||
//En el caso de ser la última fila hacemos un append nosotros no el grid
|
||||
//ya que se saltaria la lógica del controllerDetallesBase
|
||||
if cxGridView.Controller.IsFinish then
|
||||
begin
|
||||
Key := 0;
|
||||
if Sender.Controller.EditingController.IsEditing then
|
||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
||||
actAnadir.Execute;
|
||||
end;
|
||||
|
||||
//Baja los conceptos seleccionados
|
||||
if Shift = [ssAlt] then
|
||||
begin
|
||||
Key := 0;
|
||||
actBajar.Execute;
|
||||
end;
|
||||
end;
|
||||
VK_UP : begin
|
||||
//Sube los conceptos seleccionados
|
||||
if Shift = [ssAlt] then
|
||||
begin
|
||||
Key := 0;
|
||||
actSubir.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
VK_RETURN, VK_RIGHT
|
||||
: begin
|
||||
//En el caso de ser la última fila hacemos un append nosotros no el grid
|
||||
//ya que se saltaria la lógica del controllerDetallesBase
|
||||
if cxGridView.Controller.IsFinish
|
||||
and AItem.IsLast then
|
||||
begin
|
||||
Key := 0;
|
||||
if Sender.Controller.EditingController.IsEditing then
|
||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
||||
actAnadir.Execute;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
cxGridView.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.cxGridViewEditValueChanged(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
|
||||
begin
|
||||
inherited;
|
||||
cxGridView.BeginUpdate;
|
||||
try
|
||||
if HayQueRecalcular(AItem) then
|
||||
begin
|
||||
if Sender.Controller.EditingController.IsEditing then
|
||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
||||
|
||||
Controller.actualizarTotales(Detalles);
|
||||
end;
|
||||
finally
|
||||
cxGridView.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.cxGridViewInitEdit(Sender: TcxCustomGridTableView;
|
||||
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit);
|
||||
var
|
||||
FuentePorDefecto: TFont;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
if AEdit is TcxRichEdit then
|
||||
begin
|
||||
FuentePorDefecto := darTipoLetraPorDefecto;
|
||||
//La primera vez que accedemos al grid entra dos veces y perderiamos el editor
|
||||
//dando un pete.
|
||||
if not Assigned(CurEdit) then
|
||||
begin
|
||||
FontEdit1.Enabled := True;
|
||||
// UpDown1.Enabled := True;
|
||||
// FontSize.Enabled := True;
|
||||
// FontName.Enabled := True;
|
||||
|
||||
CurEdit := TcxRichEdit(AEdit);
|
||||
if length(CurEdit.Text) = 0 then
|
||||
CurEdit.DefAttributes.Assign(FuentePorDefecto)
|
||||
end
|
||||
else
|
||||
if length(CurEdit.Text) = 0 then
|
||||
CurEdit.DefAttributes.Assign(FuentePorDefecto);
|
||||
|
||||
FreeAndNil(FuentePorDefecto);
|
||||
end
|
||||
else
|
||||
begin
|
||||
CurEdit := Nil;
|
||||
FontEdit1.Enabled := False;
|
||||
// UpDown1.Enabled := False;
|
||||
// FontSize.Enabled := False;
|
||||
// FontName.Enabled := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.cxGridViewStylesGetContentStyle(
|
||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||||
var
|
||||
IndiceCol : Integer;
|
||||
ATipo : String;
|
||||
begin
|
||||
if Assigned(ARecord) then
|
||||
begin
|
||||
IndiceCol := cxGridViewTIPO.Index;
|
||||
ATipo := VarToStr(ARecord.Values[IndiceCol]);
|
||||
if ATipo = TIPO_DETALLE_SUBTOTAL then
|
||||
AStyle := cxStyle_SUBTOTAL;
|
||||
if ATipo = TIPO_DETALLE_TITULO then
|
||||
AStyle := cxStyle_TITULO;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.darListaSeleccionados: TIntegerArray;
|
||||
var
|
||||
i, j: Integer;
|
||||
begin
|
||||
j := darPosicionCampo(CAMPO_POSICION);
|
||||
|
||||
with cxGridView.Controller do
|
||||
for i:=0 to SelectedRecordCount-1 do
|
||||
begin
|
||||
SetLength(Result, i+1);
|
||||
Result[i] := SelectedRecords[i].Values[j];
|
||||
end;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.DarPosicionCAMPO(const Nombre: String): Integer;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Result := -1;
|
||||
|
||||
i:=0;
|
||||
while ((cxGridView.Columns[i].DataBinding.FieldName <> Nombre)
|
||||
and (i < cxGridView.ColumnCount)) do
|
||||
inc(i);
|
||||
|
||||
if (i = cxGridView.ColumnCount)
|
||||
then raise Exception.Create('El campo ' + Nombre + ' no se ha encontrado en el grid (uViewDetallesBase)');
|
||||
|
||||
Result := i;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.EndUpdate;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.EndUpdate;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.EsTipoEditable(AItem: TcxCustomGridTableItem): Boolean;
|
||||
var
|
||||
IndiceCol : Integer;
|
||||
begin
|
||||
Result := True;
|
||||
|
||||
IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_TIPO).Index;
|
||||
if (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_SALTO) then
|
||||
begin
|
||||
IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_CONCEPTO).Index;
|
||||
if AItem.Index >= IndiceCol then
|
||||
Result := False
|
||||
end
|
||||
else
|
||||
begin
|
||||
if (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_SUBTOTAL)
|
||||
or (AItem.GridView.Items[IndiceCol].EditValue = TIPO_DETALLE_TITULO) then
|
||||
begin
|
||||
IndiceCol := cxGridView.GetColumnByFieldName(CAMPO_CONCEPTO).Index;
|
||||
if AItem.Index > IndiceCol then
|
||||
Result := False
|
||||
end
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.ExpandirTodo;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.ViewData.Expand(True);
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.FontEdit1Accept(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
CurrText.Assign(FontEdit1.Dialog.Font);
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.FontEdit1BeforeExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
FontEdit1.Dialog.Font.Assign(CurEdit.SelAttributes);
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.FontNameChange(Sender: TObject);
|
||||
begin
|
||||
if FUpdating then Exit;
|
||||
CurrText.Name := FontName.Items[FontName.ItemIndex];
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.FontSizeChange(Sender: TObject);
|
||||
begin
|
||||
if FUpdating then Exit;
|
||||
CurrText.Size := StrToInt(FontSize.Text);
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.GetController: IControllerDetallesBase;
|
||||
begin
|
||||
Result := FController;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.GetDetalles: IDAStronglyTypedDataTable;
|
||||
begin
|
||||
Result := FDetalles;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.GetFocusedView: TcxGridDBTableView;
|
||||
begin
|
||||
Result := cxGridView;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.GetGrid: TcxGrid;
|
||||
begin
|
||||
Result := cxGrid;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.HayQueRecalcular(AItem: TcxCustomGridTableItem): Boolean;
|
||||
begin
|
||||
Result := (AItem = cxGridViewTIPO)
|
||||
or (AItem = cxGridViewCANTIDAD)
|
||||
or (AItem = cxGridViewIMPORTEUNIDAD);
|
||||
end;
|
||||
|
||||
function TfrViewDetallesBase.IsEmpty: Boolean;
|
||||
begin
|
||||
Result := (_FocusedView.ViewData.RowCount < 1);
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.OnSelectChange(Sender: TObject);
|
||||
begin
|
||||
if (csDestroying in ComponentState) then
|
||||
Exit;
|
||||
|
||||
try
|
||||
FUpdating := True;
|
||||
// FontSize.Text := IntToStr(CurEdit.SelAttributes.Size);
|
||||
// FontName.FontName := CurEdit.SelAttributes.Name;
|
||||
finally
|
||||
FUpdating := False;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.RestoreGridStatus;
|
||||
begin
|
||||
if Assigned(FGridStatus) and (not IsEmpty) then
|
||||
FGridStatus.Restore(_FocusedView);
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.SaveGridStatus;
|
||||
begin
|
||||
FreeAndNil(FGridStatus);
|
||||
if not IsEmpty then
|
||||
FGridStatus := TcxGridStatus.Create(_FocusedView);
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.SeleccionarRowActual;
|
||||
begin
|
||||
//Quitamos lo que hubiera seleccionado
|
||||
cxGrid.ActiveView.DataController.ClearSelection;
|
||||
with cxGrid.ActiveView.DataController do
|
||||
if RowCount > 0 then
|
||||
SelectRows(GetFocusedRowIndex,GetFocusedRowIndex);
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.SetController(const Value: IControllerDetallesBase);
|
||||
var
|
||||
AListaValores : TStringList;
|
||||
AItem : TcxImageComboBoxItem;
|
||||
i: integer;
|
||||
DC: HDC;
|
||||
begin
|
||||
FController := Value;
|
||||
|
||||
//Rellenamos los tipos de letra que tenemos
|
||||
FontName.Items.Clear;
|
||||
DC := GetDC(0);
|
||||
EnumFonts(DC, nil, @EnumFontsProc, Pointer(FontName.Items));
|
||||
ReleaseDC(0, DC);
|
||||
FontName.Sorted := True;
|
||||
|
||||
//Rellenamos los tipos de conceptos que hay
|
||||
if Assigned(FController) then
|
||||
begin
|
||||
AListaValores := FController.darListaTIPOSDETALLE;
|
||||
with (cxGridViewTIPO.Properties as TcxImageComboBoxProperties) do
|
||||
if Items.Count = 0 then
|
||||
begin
|
||||
Items.BeginUpdate;
|
||||
try
|
||||
Items.Clear;
|
||||
for i:=0 to AListaValores.Count-1 do
|
||||
begin
|
||||
AItem := Items.Add;
|
||||
AItem.Tag := i;
|
||||
AItem.Description := AListaValores.ValueFromIndex[i];
|
||||
AItem.Value := AListaValores.Names[i];
|
||||
end;
|
||||
finally
|
||||
DefaultDescription := AListaValores.ValueFromIndex[0];
|
||||
FreeAndNil(AListaValores);
|
||||
Items.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.SetDetalles(const Value: IDAStronglyTypedDataTable);
|
||||
begin
|
||||
FDetalles := Value;
|
||||
if Assigned(FDetalles) then
|
||||
DADataSource.DataTable := FDetalles.DataTable
|
||||
else
|
||||
DADataSource.DataTable := NIL;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.TBXItem13Click(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if cxGridView.Controller.EditingController.IsEditing then
|
||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
||||
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.actAnadirUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := not ReadOnly;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.actAnchoAutomaticoExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
cxGridView.ApplyBestFit;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.actAnchoAutomaticoUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := not IsEmpty;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.actBajarExecute(Sender: TObject);
|
||||
begin
|
||||
cxGridView.BeginUpdate;
|
||||
try
|
||||
if cxGridView.Controller.EditingController.IsEditing then
|
||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
||||
|
||||
if Assigned(Controller)
|
||||
and Assigned(FDetalles) then
|
||||
Controller.move(FDetalles, darListaSeleccionados, 1);
|
||||
finally
|
||||
cxGridView.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.actBajarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if not Assigned(cxGridView.Controller.FocusedRow) then
|
||||
(Sender as TAction).Enabled := False
|
||||
else
|
||||
(Sender as TAction).Enabled := (not ReadOnly)
|
||||
and (not cxGridView.Controller.FocusedRow.IsLast)
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesBase.actSubirExecute(Sender: TObject);
|
||||
begin
|
||||
cxGridView.BeginUpdate;
|
||||
try
|
||||
if cxGridView.Controller.EditingController.IsEditing then
|
||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
||||
|
||||
if Assigned(Controller)
|
||||
and Assigned(FDetalles) then
|
||||
Controller.move(FDetalles, darListaSeleccionados, -1);
|
||||
finally
|
||||
cxGridView.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
95
Source/GUIBase/uViewDetallesDTO.dfm
Normal file
95
Source/GUIBase/uViewDetallesDTO.dfm
Normal file
@ -0,0 +1,95 @@
|
||||
inherited frViewDetallesDTO: TfrViewDetallesDTO
|
||||
inherited ToolBar1: TToolBar
|
||||
ButtonWidth = 110
|
||||
inherited ToolButton1: TToolButton
|
||||
ExplicitWidth = 109
|
||||
end
|
||||
inherited ToolButton2: TToolButton
|
||||
Left = 109
|
||||
ExplicitLeft = 109
|
||||
ExplicitWidth = 114
|
||||
end
|
||||
inherited ToolButton3: TToolButton
|
||||
Left = 223
|
||||
ExplicitLeft = 223
|
||||
end
|
||||
inherited ToolButton4: TToolButton
|
||||
Left = 278
|
||||
ExplicitLeft = 278
|
||||
end
|
||||
inherited ToolButton14: TToolButton
|
||||
Left = 334
|
||||
ExplicitLeft = 334
|
||||
end
|
||||
end
|
||||
inherited cxGrid: TcxGrid
|
||||
inherited cxGridView: TcxGridDBTableView
|
||||
object cxGridViewDESCUENTO: TcxGridDBColumn [6]
|
||||
Caption = 'Dto'
|
||||
DataBinding.FieldName = 'DESCUENTO'
|
||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
||||
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
|
||||
Properties.EditFormat = ',0.00;-,0.00'
|
||||
Properties.MaxValue = 100.000000000000000000
|
||||
end
|
||||
object cxGridViewIMPORTENETO: TcxGridDBColumn [7]
|
||||
Caption = 'Importe neto'
|
||||
DataBinding.ValueType = 'Currency'
|
||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.DisplayFormat = ',0.00 '#8364';-,0.00 '#8364
|
||||
Properties.EditFormat = ',0.00 '#8364';-,0.00 '#8364
|
||||
Properties.ReadOnly = True
|
||||
Properties.OnValidate = cxGridViewIMPORTENETOPropertiesValidate
|
||||
OnGetDisplayText = cxGridViewIMPORTENETOGetDisplayText
|
||||
HeaderAlignmentHorz = taRightJustify
|
||||
Options.Editing = False
|
||||
end
|
||||
object cxGridViewIMPORTEPORTE: TcxGridDBColumn [8]
|
||||
Caption = 'Importe porte'
|
||||
DataBinding.FieldName = 'IMPORTE_PORTE'
|
||||
PropertiesClassName = 'TcxCurrencyEditProperties'
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.EditFormat = ',0.00 '#8364';-,0.00 '#8364
|
||||
HeaderAlignmentHorz = taRightJustify
|
||||
end
|
||||
end
|
||||
end
|
||||
inherited TBXDock1: TTBXDock
|
||||
inherited TBXToolbar1: TTBXToolbar
|
||||
ExplicitWidth = 447
|
||||
end
|
||||
end
|
||||
inherited ActionListContenido: TActionList
|
||||
inherited actAnadir: TAction
|
||||
Caption = 'A'#241'adir concepto'
|
||||
end
|
||||
inherited actEliminar: TAction
|
||||
Caption = 'Eliminar concepto'
|
||||
end
|
||||
inherited RichEditBold1: TRichEditBold
|
||||
Visible = False
|
||||
end
|
||||
inherited RichEditItalic1: TRichEditItalic
|
||||
Visible = False
|
||||
end
|
||||
inherited RichEditUnderline1: TRichEditUnderline
|
||||
Visible = False
|
||||
end
|
||||
inherited RichEditAlignLeft1: TRichEditAlignLeft
|
||||
Visible = False
|
||||
end
|
||||
inherited RichEditAlignCenter1: TRichEditAlignCenter
|
||||
Visible = False
|
||||
end
|
||||
inherited RichEditAlignRight1: TRichEditAlignRight
|
||||
Visible = False
|
||||
end
|
||||
inherited FontEdit1: TFontEdit
|
||||
Visible = False
|
||||
end
|
||||
inherited RichEditAlignRight2: TRichEditAlignRight
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
end
|
||||
75
Source/GUIBase/uViewDetallesDTO.pas
Normal file
75
Source/GUIBase/uViewDetallesDTO.pas
Normal file
@ -0,0 +1,75 @@
|
||||
unit uViewDetallesDTO;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewDetallesBase, cxStyles, cxCustomData, cxGraphics, cxFilter,
|
||||
cxData, cxDataStorage, cxEdit, DB, cxDBData, cxImageComboBox, cxRichEdit,
|
||||
cxMaskEdit, cxCurrencyEdit, cxCheckBox, ImgList, PngImageList, uDADataTable,
|
||||
StdActns, ExtActns, ActnList, TB2Item, TBX, TB2Dock, TB2Toolbar, cxGridLevel,
|
||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||||
cxControls, cxGridCustomView, cxGrid, ComCtrls, StdCtrls, JvExStdCtrls,
|
||||
JvCombobox, JvColorCombo, ToolWin;
|
||||
|
||||
type
|
||||
IViewDetallesDTO = interface(IViewDetallesBase)
|
||||
['{0D221FFB-9F43-48FC-9AE7-0AD0F0791AD1}']
|
||||
end;
|
||||
|
||||
TfrViewDetallesDTO = class(TfrViewDetallesBase, IViewDetallesDTO)
|
||||
cxGridViewDESCUENTO: TcxGridDBColumn;
|
||||
cxGridViewIMPORTEPORTE: TcxGridDBColumn;
|
||||
cxGridViewIMPORTENETO: TcxGridDBColumn;
|
||||
procedure cxGridViewIMPORTENETOGetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||||
var AText: string);
|
||||
procedure cxGridViewIMPORTENETOPropertiesValidate(Sender: TObject;
|
||||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||||
protected
|
||||
function HayQueRecalcular(AItem: TcxCustomGridTableItem): Boolean; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
{$R *.dfm}
|
||||
|
||||
{ TfrViewDetallesDTO }
|
||||
|
||||
procedure TfrViewDetallesDTO.cxGridViewIMPORTENETOGetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||||
var AText: string);
|
||||
var
|
||||
ImporteNeto : Double;
|
||||
begin
|
||||
//Se encarga de mostrar el campo calculado de importe neto
|
||||
ImporteNeto := -1;
|
||||
|
||||
if not VarIsNull(ARecord.Values[cxGridViewIMPORTEUNIDAD.Index]) then
|
||||
if not VarIsNull(ARecord.Values[cxGridViewDESCUENTO.Index]) then
|
||||
ImporteNeto := ARecord.Values[cxGridViewIMPORTEUNIDAD.Index] - ((ARecord.Values[cxGridViewIMPORTEUNIDAD.Index] * ARecord.Values[cxGridViewDESCUENTO.Index])/100)
|
||||
else
|
||||
ImporteNeto := ARecord.Values[cxGridViewIMPORTEUNIDAD.Index];
|
||||
|
||||
if (ImporteNeto <> -1) then
|
||||
begin
|
||||
AText := FormatCurr(',0.00 €;-,0.00 €', FloatToCurr(ImporteNeto))
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesDTO.cxGridViewIMPORTENETOPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||||
var Error: Boolean);
|
||||
begin
|
||||
inherited;
|
||||
if not VarIsNull(DisplayValue) then
|
||||
begin
|
||||
cxGridViewDESCUENTO.DataBinding.Field.Value := ((cxGridViewIMPORTEUNIDAD.DataBinding.Field.Value - DisplayValue) * 100) / cxGridViewIMPORTEUNIDAD.DataBinding.Field.Value;
|
||||
Controller.ActualizarTotales(Detalles);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesDTO.HayQueRecalcular(AItem: TcxCustomGridTableItem): Boolean;
|
||||
begin
|
||||
Result := inherited HayQueRecalcular(AItem);
|
||||
if not Result then
|
||||
Result := (AItem = cxGridViewDESCUENTO) or (AItem = cxGridViewIMPORTEPORTE);
|
||||
end;
|
||||
|
||||
end.
|
||||
238
Source/GUIBase/uViewDetallesGenerico.dfm
Normal file
238
Source/GUIBase/uViewDetallesGenerico.dfm
Normal file
@ -0,0 +1,238 @@
|
||||
inherited frViewDetallesGenerico: TfrViewDetallesGenerico
|
||||
Width = 503
|
||||
Height = 357
|
||||
ExplicitWidth = 503
|
||||
ExplicitHeight = 357
|
||||
object cxGrid: TcxGrid
|
||||
Left = 0
|
||||
Top = 25
|
||||
Width = 503
|
||||
Height = 332
|
||||
Align = alClient
|
||||
TabOrder = 0
|
||||
LookAndFeel.Kind = lfOffice11
|
||||
LookAndFeel.NativeStyle = True
|
||||
object cxGridView: TcxGridDBTableView
|
||||
NavigatorButtons.ConfirmDelete = False
|
||||
FilterBox.Visible = fvNever
|
||||
OnEditKeyDown = cxGridViewEditKeyDown
|
||||
DataController.DataSource = dsDetalles
|
||||
DataController.Filter.Options = [fcoCaseInsensitive]
|
||||
DataController.KeyFieldNames = 'ID'
|
||||
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoFocusTopRowAfterSorting, dcoImmediatePost]
|
||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||
DataController.Summary.FooterSummaryItems = <>
|
||||
DataController.Summary.SummaryGroups = <>
|
||||
OptionsBehavior.AlwaysShowEditor = True
|
||||
OptionsBehavior.CellHints = True
|
||||
OptionsBehavior.FocusCellOnTab = True
|
||||
OptionsBehavior.GoToNextCellOnEnter = True
|
||||
OptionsBehavior.BestFitMaxRecordCount = 20
|
||||
OptionsBehavior.FocusCellOnCycle = True
|
||||
OptionsCustomize.ColumnFiltering = False
|
||||
OptionsCustomize.ColumnGrouping = False
|
||||
OptionsCustomize.ColumnMoving = False
|
||||
OptionsCustomize.ColumnSorting = False
|
||||
OptionsCustomize.DataRowSizing = True
|
||||
OptionsData.Appending = True
|
||||
OptionsData.CancelOnExit = False
|
||||
OptionsSelection.MultiSelect = True
|
||||
OptionsSelection.UnselectFocusedRecordOnExit = False
|
||||
OptionsView.CellEndEllipsis = True
|
||||
OptionsView.CellAutoHeight = True
|
||||
OptionsView.ColumnAutoWidth = True
|
||||
OptionsView.GridLineColor = cl3DLight
|
||||
OptionsView.GroupByBox = False
|
||||
OptionsView.HeaderEndEllipsis = True
|
||||
OptionsView.Indicator = True
|
||||
object cxGridViewID: TcxGridDBColumn
|
||||
DataBinding.FieldName = 'ID'
|
||||
Visible = False
|
||||
end
|
||||
end
|
||||
object cxGridLevel: TcxGridLevel
|
||||
GridView = cxGridView
|
||||
end
|
||||
end
|
||||
object ToolBar1: TToolBar
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 503
|
||||
Height = 25
|
||||
ButtonWidth = 113
|
||||
Caption = 'ToolBar1'
|
||||
EdgeInner = esNone
|
||||
EdgeOuter = esNone
|
||||
Flat = False
|
||||
Images = ContenidoImageList
|
||||
List = True
|
||||
ParentShowHint = False
|
||||
ShowCaptions = True
|
||||
ShowHint = True
|
||||
TabOrder = 1
|
||||
Transparent = True
|
||||
object ToolButton1: TToolButton
|
||||
Left = 0
|
||||
Top = 2
|
||||
Action = actAnadir
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton4: TToolButton
|
||||
Left = 62
|
||||
Top = 2
|
||||
Action = actModificar
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton5: TToolButton
|
||||
Left = 136
|
||||
Top = 2
|
||||
Width = 8
|
||||
Caption = 'ToolButton5'
|
||||
ImageIndex = 2
|
||||
Style = tbsSeparator
|
||||
end
|
||||
object ToolButton2: TToolButton
|
||||
Left = 144
|
||||
Top = 2
|
||||
Action = actEliminar
|
||||
AutoSize = True
|
||||
end
|
||||
object ToolButton6: TToolButton
|
||||
Left = 211
|
||||
Top = 2
|
||||
Width = 8
|
||||
Caption = 'ToolButton6'
|
||||
ImageIndex = 2
|
||||
Style = tbsSeparator
|
||||
end
|
||||
object ToolButton7: TToolButton
|
||||
Left = 219
|
||||
Top = 2
|
||||
Action = actAnchoAutomatico
|
||||
AutoSize = True
|
||||
end
|
||||
end
|
||||
object dsDetalles: TDADataSource
|
||||
Left = 40
|
||||
Top = 144
|
||||
end
|
||||
object ContenidoImageList: TPngImageList
|
||||
PngImages = <
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000000F84944415478DA
|
||||
63FCFFFF3F03084C59BC03C2200072E33C19616C905E46640372623DF06A06AA
|
||||
6198B77413C3F99DD3194936E0DFBF7F0CD396EE62D051576128AAEB031B42B4
|
||||
0120CDBFFFFC6398BD720F43B0A70DC3CD7B2FC0869CDB318D91A00130CDBF7F
|
||||
FF6558B06E3FD80B3040D00064CDBFFF40F0AA6D47C1722083F01A804D3304FF
|
||||
63D8B2EF147E03F06906D13B0F9DC56D0058E16F540D20FC07C607CA1D387911
|
||||
BB01E991AE043583F847CF5EC16E4052881341CD207CEAE275EC06C406D813D4
|
||||
0CC2E7AFDEC26E40848F2D41CD20B12B37EF603720D8C38AA06610C069809F8B
|
||||
39C3A63D2789C994D80D404EA6C400900100F58BBFF09BC1E25C000000004945
|
||||
4E44AE426082}
|
||||
Name = 'PngImage0'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA
|
||||
A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304
|
||||
451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994
|
||||
9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F
|
||||
9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546
|
||||
031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8
|
||||
1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA
|
||||
9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E
|
||||
9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8
|
||||
E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0
|
||||
3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8
|
||||
5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37
|
||||
60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB
|
||||
7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932
|
||||
75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04
|
||||
E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148
|
||||
D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2
|
||||
45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56
|
||||
A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E
|
||||
AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13
|
||||
7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058
|
||||
5538F0EAB25B380000000049454E44AE426082}
|
||||
Name = 'PngImage1'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD2520000015D4944415478DA
|
||||
63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0
|
||||
3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060
|
||||
24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298
|
||||
E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0
|
||||
60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161
|
||||
10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319
|
||||
1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5
|
||||
BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068
|
||||
06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2
|
||||
E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41
|
||||
00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500
|
||||
00000049454E44AE426082}
|
||||
Name = 'PngImage2'
|
||||
Background = clWindow
|
||||
end
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001124944415478DA
|
||||
63FCFFFF3F03258091620340848147C2FF0B3B1630A24B1223CE08E20CAC0B28
|
||||
0A0098010B361C807BE3E7CF5F0C5FBF7D63F8F2ED3B98D65455C62ADE599ACC
|
||||
886240BCBF3D58E19FBFFF18BE7DFFC5F0EDC72F86D6A98B1826D7E760159FD2
|
||||
908B69C0EF3F7F810A7E337C072ABC71FF15C3FC556B1916F69463155FD45B81
|
||||
3060DAF21DFF93835D18BEFF80D8F0FDC71F8647CFDF334C9CB38061E5D446AC
|
||||
E21B66B7220CE89AB3EE7F6AA80754D16F862F409BDE7FFCC6D0D43F8561DDCC
|
||||
76ACE2FB574C4418503771F1FFB4085F86DB0F5EA3847049633BC3C6F97D58C5
|
||||
CF6E9B8730A0A86DE6FF6FC0D0FDF4F90BC3E72F5FA1F417867FFFFE33589818
|
||||
601587A78381CF4C941A00005C20FBD97F751C0A0000000049454E44AE426082}
|
||||
Name = 'PngImage3'
|
||||
Background = clWindow
|
||||
end>
|
||||
Left = 40
|
||||
Top = 112
|
||||
Bitmap = {}
|
||||
end
|
||||
object ActionListContenido: TActionList
|
||||
Images = ContenidoImageList
|
||||
Left = 40
|
||||
Top = 80
|
||||
object actAnadir: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'A'#241'adir'
|
||||
ImageIndex = 0
|
||||
ShortCut = 45
|
||||
OnExecute = actAnadirExecute
|
||||
OnUpdate = actAnadirUpdate
|
||||
end
|
||||
object actEliminar: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'Eliminar'
|
||||
ImageIndex = 1
|
||||
ShortCut = 16430
|
||||
OnExecute = actEliminarExecute
|
||||
OnUpdate = actEliminarUpdate
|
||||
end
|
||||
object actModificar: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'Modificar'
|
||||
ImageIndex = 2
|
||||
OnExecute = actModificarExecute
|
||||
OnUpdate = actModificarUpdate
|
||||
end
|
||||
object actAnchoAutomatico: TAction
|
||||
Category = 'Operaciones'
|
||||
Caption = 'Ancho autom'#225'tico'
|
||||
ImageIndex = 3
|
||||
OnExecute = actAnchoAutomaticoExecute
|
||||
end
|
||||
end
|
||||
end
|
||||
206
Source/GUIBase/uViewDetallesGenerico.pas
Normal file
206
Source/GUIBase/uViewDetallesGenerico.pas
Normal file
@ -0,0 +1,206 @@
|
||||
unit uViewDetallesGenerico;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||
cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, ActnList, ImgList,
|
||||
PngImageList, uDADataTable, ComCtrls, ToolWin, cxGridLevel,
|
||||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||||
cxControls, cxGridCustomView, cxGrid, uDAInterfaces;
|
||||
|
||||
type
|
||||
TfrViewDetallesGenerico = class(TfrViewBase)
|
||||
cxGrid: TcxGrid;
|
||||
cxGridView: TcxGridDBTableView;
|
||||
cxGridViewID: TcxGridDBColumn;
|
||||
cxGridLevel: TcxGridLevel;
|
||||
ToolBar1: TToolBar;
|
||||
ToolButton1: TToolButton;
|
||||
ToolButton2: TToolButton;
|
||||
dsDetalles: TDADataSource;
|
||||
ContenidoImageList: TPngImageList;
|
||||
ActionListContenido: TActionList;
|
||||
actAnadir: TAction;
|
||||
actEliminar: TAction;
|
||||
ToolButton4: TToolButton;
|
||||
actModificar: TAction;
|
||||
ToolButton5: TToolButton;
|
||||
ToolButton6: TToolButton;
|
||||
actAnchoAutomatico: TAction;
|
||||
ToolButton7: TToolButton;
|
||||
procedure cxGridViewEditKeyDown(Sender: TcxCustomGridTableView;
|
||||
AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
procedure actAnadirExecute(Sender: TObject);
|
||||
procedure actEliminarExecute(Sender: TObject);
|
||||
procedure actEliminarUpdate(Sender: TObject);
|
||||
procedure actAnadirUpdate(Sender: TObject);
|
||||
procedure actAnchoAutomaticoExecute(Sender: TObject);
|
||||
procedure actModificarUpdate(Sender: TObject);
|
||||
procedure actModificarExecute(Sender: TObject);
|
||||
protected
|
||||
function HayDatos : Boolean;
|
||||
procedure AnadirInterno; virtual;
|
||||
procedure ModificarInterno; virtual;
|
||||
procedure EliminarInterno; virtual;
|
||||
|
||||
function GetModified: Boolean; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
uDataTableUtils;
|
||||
|
||||
procedure TfrViewDetallesGenerico.actAnadirExecute(Sender: TObject);
|
||||
var
|
||||
bEsMultiSelect : Boolean;
|
||||
begin
|
||||
// Debo quitar el multiselect porque provoca que se quede seleccionado
|
||||
// el registro actual y no el nuevo registro que voy a añadir
|
||||
bEsMultiSelect := cxGridView.OptionsSelection.MultiSelect;
|
||||
if bEsMultiSelect then
|
||||
cxGridView.OptionsSelection.MultiSelect := False;
|
||||
|
||||
cxGridView.BeginUpdate;
|
||||
try
|
||||
if cxGridView.Controller.EditingController.IsEditing then
|
||||
cxGridView.Controller.EditingController.Edit.PostEditValue;
|
||||
|
||||
AnadirInterno;
|
||||
finally
|
||||
cxGridView.EndUpdate;
|
||||
|
||||
// Dejo la propiedad MultiSelect como estaba
|
||||
if bEsMultiSelect then
|
||||
cxGridView.OptionsSelection.MultiSelect := bEsMultiSelect;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.actAnadirUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := Assigned(dsDetalles.DataTable);
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.actAnchoAutomaticoExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
cxGridView.ApplyBestFit;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.actEliminarExecute(Sender: TObject);
|
||||
var
|
||||
AuxTop, AuxRow:Integer;
|
||||
begin
|
||||
cxGridView.BeginUpdate;
|
||||
AuxTop := cxGridView.Controller.TopRowIndex;
|
||||
AuxRow := cxGridView.DataController.FocusedRowIndex;
|
||||
try
|
||||
EliminarInterno;
|
||||
|
||||
//Selecciona en el grid el registro siguiente
|
||||
if (AuxRow < cxGridView.DataController.RowCount-1) then
|
||||
Inc(AuxRow)
|
||||
else
|
||||
Dec(AuxRow);
|
||||
|
||||
if dsDetalles.DataTable.RecordCount > 0 then
|
||||
begin
|
||||
cxGridView.DataController.SelectRows(AuxRow,AuxRow);
|
||||
cxGridView.Controller.TopRowIndex := AuxTop;
|
||||
end;
|
||||
finally
|
||||
cxGridView.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.actEliminarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := HayDatos;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.actModificarExecute(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
ModificarInterno;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.actModificarUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := HayDatos and
|
||||
(cxGridView.DataController.FocusedRowIndex >= 0)
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.AnadirInterno;
|
||||
begin
|
||||
dsDetalles.DataTable.Insert;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.cxGridViewEditKeyDown(
|
||||
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
|
||||
AEdit: TcxCustomEdit; var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
inherited;
|
||||
cxGridView.BeginUpdate;
|
||||
try
|
||||
Case Key of
|
||||
VK_DOWN : begin
|
||||
//En el caso de ser la última fila hacemos un append nosotros no el grid
|
||||
//ya que se saltaria la lógica del controllerDetallesBase
|
||||
if cxGridView.Controller.IsFinish then
|
||||
begin
|
||||
Key := 0;
|
||||
if Sender.Controller.EditingController.IsEditing then
|
||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
||||
actAnadir.Execute;
|
||||
end;
|
||||
end;
|
||||
|
||||
VK_RETURN, VK_RIGHT
|
||||
: begin
|
||||
//En el caso de ser la última fila hacemos un append nosotros no el grid
|
||||
//ya que se saltaria la lógica del controllerDetallesBase
|
||||
if cxGridView.Controller.IsFinish
|
||||
and AItem.IsLast then
|
||||
begin
|
||||
Key := 0;
|
||||
if Sender.Controller.EditingController.IsEditing then
|
||||
Sender.Controller.EditingController.Edit.PostEditValue;
|
||||
actAnadir.Execute;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
cxGridView.EndUpdate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.EliminarInterno;
|
||||
begin
|
||||
dsDetalles.DataTable.Delete;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesGenerico.GetModified: Boolean;
|
||||
begin
|
||||
Result := DataTableModified(dsDetalles.DataTable) or inherited GetModified;
|
||||
end;
|
||||
|
||||
function TfrViewDetallesGenerico.HayDatos: Boolean;
|
||||
begin
|
||||
Result := Assigned(dsDetalles.DataTable) and
|
||||
(cxGridView.ViewInfo.VisibleRecordCount > 0)
|
||||
end;
|
||||
|
||||
procedure TfrViewDetallesGenerico.ModificarInterno;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
end.
|
||||
200
Source/GUIBase/uViewFiltroBase.dfm
Normal file
200
Source/GUIBase/uViewFiltroBase.dfm
Normal file
@ -0,0 +1,200 @@
|
||||
object frViewFiltroBase: TfrViewFiltroBase
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 565
|
||||
Height = 102
|
||||
TabOrder = 0
|
||||
Visible = False
|
||||
object TBXDockablePanel1: TTBXDockablePanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Align = alClient
|
||||
Caption = 'TBXDockablePanel1'
|
||||
CloseButton = False
|
||||
CloseButtonWhenDocked = False
|
||||
DockedHeight = 98
|
||||
DockMode = dmCannotFloatOrChangeDocks
|
||||
FloatingWidth = 128
|
||||
FloatingHeight = 98
|
||||
ShowCaption = False
|
||||
ShowCaptionWhenDocked = False
|
||||
SupportedDocks = [dkStandardDock, dkMultiDock]
|
||||
TabOrder = 0
|
||||
ExplicitWidth = 128
|
||||
ExplicitHeight = 98
|
||||
object dxLayoutControl1: TdxLayoutControl
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 565
|
||||
Height = 68
|
||||
Align = alTop
|
||||
ParentBackground = True
|
||||
TabOrder = 0
|
||||
AutoContentSizes = [acsWidth, acsHeight]
|
||||
ExplicitWidth = 128
|
||||
object txtFiltroTodo: TcxTextEdit
|
||||
Left = 87
|
||||
Top = 10
|
||||
Properties.OnChange = OnCamposFiltroChange
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 0
|
||||
Width = 273
|
||||
end
|
||||
object edtFechaIniFiltro: TcxDateEdit
|
||||
Left = 87
|
||||
Top = 37
|
||||
Properties.OnChange = OnCamposFiltroChange
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.ButtonStyle = bts3D
|
||||
Style.PopupBorderStyle = epbsFrame3D
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 1
|
||||
Width = 121
|
||||
end
|
||||
object edtFechaFinFiltro: TcxDateEdit
|
||||
Left = 350
|
||||
Top = 37
|
||||
Properties.OnChange = OnCamposFiltroChange
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.ButtonStyle = bts3D
|
||||
Style.PopupBorderStyle = epbsFrame3D
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 2
|
||||
Width = 121
|
||||
end
|
||||
object dxLayoutControl1Group_Root: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item1: TdxLayoutItem
|
||||
Caption = 'Que contenga:'
|
||||
Control = txtFiltroTodo
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Group1: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item2: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Entre la fecha:'
|
||||
Control = edtFechaIniFiltro
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Item3: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'y'
|
||||
Control = edtFechaFinFiltro
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object TBXAlignmentPanel1: TTBXAlignmentPanel
|
||||
Left = 0
|
||||
Top = 68
|
||||
Width = 565
|
||||
Height = 30
|
||||
Margins.Left = 10
|
||||
Align = alTop
|
||||
TabOrder = 1
|
||||
ExplicitWidth = 128
|
||||
object tbxBotones: TTBXToolbar
|
||||
Left = 10
|
||||
Top = 0
|
||||
Width = 555
|
||||
Height = 30
|
||||
Align = alTop
|
||||
AutoResize = False
|
||||
BorderStyle = bsNone
|
||||
Caption = 'tbxBotones'
|
||||
ChevronHint = 'M'#225's botones|'
|
||||
DockMode = dmCannotFloatOrChangeDocks
|
||||
DockPos = -23
|
||||
DockRow = 1
|
||||
DragHandleStyle = dhNone
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 0
|
||||
ExplicitWidth = 118
|
||||
object TBXItem2: TTBXItem
|
||||
Action = actQuitarFiltro
|
||||
DisplayMode = nbdmImageAndText
|
||||
Images = PngImageList
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
|
||||
Left = 136
|
||||
Top = 16
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
Images = PngImageList
|
||||
Left = 384
|
||||
Top = 72
|
||||
object actQuitarFiltro: TAction
|
||||
Caption = 'Quitar filtros y ver todo'
|
||||
ImageIndex = 0
|
||||
OnExecute = actQuitarFiltroExecute
|
||||
end
|
||||
end
|
||||
object PngImageList: TPngImageList
|
||||
PngImages = <
|
||||
item
|
||||
PngImage.Data = {
|
||||
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
|
||||
610000000970485973000017120000171201679FD252000001B04944415478DA
|
||||
63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3
|
||||
C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999
|
||||
FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7
|
||||
481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E
|
||||
7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840
|
||||
96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3
|
||||
CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657
|
||||
318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28
|
||||
6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34
|
||||
782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9
|
||||
F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296
|
||||
D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801
|
||||
6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A
|
||||
98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082}
|
||||
Name = 'PngImage0'
|
||||
Background = clWindow
|
||||
end>
|
||||
Left = 424
|
||||
Top = 72
|
||||
Bitmap = {}
|
||||
end
|
||||
end
|
||||
144
Source/GUIBase/uViewFiltroBase.pas
Normal file
144
Source/GUIBase/uViewFiltroBase.pas
Normal file
@ -0,0 +1,144 @@
|
||||
unit uViewFiltroBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, cxMaskEdit, cxDropDownEdit, cxCalendar, dxLayoutControl,
|
||||
cxContainer, cxEdit, cxTextEdit, dxLayoutLookAndFeels, cxControls,
|
||||
StdCtrls, Buttons, cxRadioGroup, TBXDkPanels, TB2ExtItems, TBXExtItems,
|
||||
TBX, TB2Item, TB2Dock, TB2Toolbar, ActnList, ImgList, PngImageList;
|
||||
|
||||
type
|
||||
IViewFiltroBase = interface
|
||||
['{0D0EA630-BF93-4BA1-93C2-FD5A5B0CBEED}']
|
||||
function GetFiltrosChange: TNotifyEvent;
|
||||
procedure SetFiltrosChange(const Value: TNotifyEvent);
|
||||
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
|
||||
|
||||
function GetVerFiltros: Boolean;
|
||||
procedure SetVerFiltros(const Value: Boolean);
|
||||
property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros;
|
||||
|
||||
function GetTexto: String;
|
||||
procedure SetTexto(const Value: String);
|
||||
property Texto: String read GetTexto write SetTexto;
|
||||
end;
|
||||
|
||||
TfrViewFiltroBase = class(TFrame, IViewFiltroBase)
|
||||
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
||||
dxLayoutControl1: TdxLayoutControl;
|
||||
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
||||
dxLayoutControl1Item1: TdxLayoutItem;
|
||||
txtFiltroTodo: TcxTextEdit;
|
||||
dxLayoutControl1Item2: TdxLayoutItem;
|
||||
edtFechaIniFiltro: TcxDateEdit;
|
||||
dxLayoutControl1Item3: TdxLayoutItem;
|
||||
edtFechaFinFiltro: TcxDateEdit;
|
||||
dxLayoutControl1Group1: TdxLayoutGroup;
|
||||
TBXDockablePanel1: TTBXDockablePanel;
|
||||
ActionList1: TActionList;
|
||||
actQuitarFiltro: TAction;
|
||||
PngImageList: TPngImageList;
|
||||
tbxBotones: TTBXToolbar;
|
||||
TBXItem2: TTBXItem;
|
||||
TBXAlignmentPanel1: TTBXAlignmentPanel;
|
||||
procedure OnCamposFiltroChange(Sender: TObject);
|
||||
procedure actQuitarFiltroExecute(Sender: TObject);
|
||||
|
||||
private
|
||||
FOnFiltrosChange: TNotifyEvent;
|
||||
|
||||
function GetFiltrosChange: TNotifyEvent;
|
||||
procedure SetFiltrosChange(const Value: TNotifyEvent);
|
||||
function GetVerFiltros: Boolean;
|
||||
procedure SetVerFiltros(const Value: Boolean);
|
||||
function GetTexto: String;
|
||||
procedure SetTexto(const Value: String);
|
||||
|
||||
protected
|
||||
procedure LimpiarCampos; virtual;
|
||||
function ValidarCampos: Boolean; virtual;
|
||||
|
||||
public
|
||||
property OnFiltrosChange: TNotifyEvent read GetFiltrosChange write SetFiltrosChange;
|
||||
property VerFiltros: Boolean read GetVerFiltros write SetVerFiltros;
|
||||
property Texto: String read GetTexto write SetTexto;
|
||||
end;
|
||||
|
||||
implementation
|
||||
{$R *.dfm}
|
||||
|
||||
uses uDialogUtils;
|
||||
|
||||
{ TfrViewFiltroBase }
|
||||
|
||||
function TfrViewFiltroBase.GetFiltrosChange: TNotifyEvent;
|
||||
begin
|
||||
Result := FOnFiltrosChange;
|
||||
end;
|
||||
|
||||
procedure TfrViewFiltroBase.SetFiltrosChange(const Value: TNotifyEvent);
|
||||
begin
|
||||
FOnFiltrosChange := Value;
|
||||
end;
|
||||
|
||||
function TfrViewFiltroBase.GetVerFiltros: Boolean;
|
||||
begin
|
||||
Result := Self.Visible;
|
||||
end;
|
||||
|
||||
procedure TfrViewFiltroBase.SetVerFiltros(const Value: Boolean);
|
||||
begin
|
||||
Self.Visible := Value;
|
||||
if not Self.Visible then
|
||||
actQuitarFiltro.Execute;
|
||||
end;
|
||||
|
||||
procedure TfrViewFiltroBase.LimpiarCampos;
|
||||
begin
|
||||
txtFiltroTodo.Clear;
|
||||
edtFechaIniFiltro.Clear;
|
||||
edtFechaFinFiltro.Clear;
|
||||
end;
|
||||
|
||||
procedure TfrViewFiltroBase.OnCamposFiltroChange(Sender: TObject);
|
||||
begin
|
||||
if ValidarCampos then
|
||||
if Assigned(FOnFiltrosChange) then
|
||||
FOnFiltrosChange(Sender);
|
||||
end;
|
||||
|
||||
function TfrViewFiltroBase.ValidarCampos: Boolean;
|
||||
begin
|
||||
Result := True;
|
||||
|
||||
if not VarIsNull(edtFechaIniFiltro.EditValue) and not VarIsNull(edtFechaFinFiltro.EditValue) then
|
||||
begin
|
||||
if (edtFechaIniFiltro.EditValue > edtFechaFinFiltro.EditValue) then
|
||||
begin
|
||||
ShowWarningMessage('La fecha de inicio debe ser anterior a la fecha final');
|
||||
edtFechaIniFiltro.SetFocus;
|
||||
Result := False;
|
||||
end
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewFiltroBase.actQuitarFiltroExecute(Sender: TObject);
|
||||
begin
|
||||
LimpiarCampos;
|
||||
if Assigned(FOnFiltrosChange) then
|
||||
FOnFiltrosChange(Sender);
|
||||
end;
|
||||
|
||||
function TfrViewFiltroBase.GetTexto: String;
|
||||
begin
|
||||
Result := txtFiltroTodo.Text;
|
||||
end;
|
||||
|
||||
procedure TfrViewFiltroBase.SetTexto(const Value: String);
|
||||
begin
|
||||
txtFiltroTodo.Text := Value;
|
||||
end;
|
||||
|
||||
end.
|
||||
47
Source/GUIBase/uViewFormaPago.dfm
Normal file
47
Source/GUIBase/uViewFormaPago.dfm
Normal file
@ -0,0 +1,47 @@
|
||||
inherited frViewFormaPago: TfrViewFormaPago
|
||||
Width = 300
|
||||
ExplicitWidth = 300
|
||||
DesignSize = (
|
||||
300
|
||||
291)
|
||||
object Label5: TLabel
|
||||
Left = 8
|
||||
Top = 8
|
||||
Width = 85
|
||||
Height = 13
|
||||
Caption = 'Forma de pago'
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clActiveCaption
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object Bevel1: TBevel
|
||||
Left = 96
|
||||
Top = 8
|
||||
Width = 192
|
||||
Height = 9
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Shape = bsBottomLine
|
||||
end
|
||||
object memFormaPago: TcxDBMemo
|
||||
Left = 16
|
||||
Top = 32
|
||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||
DataBinding.DataField = 'FORMA_PAGO'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Properties.ScrollBars = ssVertical
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 0
|
||||
Height = 175
|
||||
Width = 269
|
||||
end
|
||||
object DADataSource: TDADataSource
|
||||
Left = 16
|
||||
Top = 48
|
||||
end
|
||||
end
|
||||
26
Source/GUIBase/uViewFormaPago.pas
Normal file
26
Source/GUIBase/uViewFormaPago.pas
Normal file
@ -0,0 +1,26 @@
|
||||
unit uViewFormaPago;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
|
||||
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
|
||||
|
||||
type
|
||||
TfrViewFormaPago = class(TfrViewBase)
|
||||
DADataSource: TDADataSource;
|
||||
memFormaPago: TcxDBMemo;
|
||||
Label5: TLabel;
|
||||
Bevel1: TBevel;
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
end.
|
||||
332
Source/GUIBase/uViewGrid.dfm
Normal file
332
Source/GUIBase/uViewGrid.dfm
Normal file
@ -0,0 +1,332 @@
|
||||
inherited frViewGrid: TfrViewGrid
|
||||
Width = 554
|
||||
Height = 594
|
||||
ExplicitWidth = 554
|
||||
ExplicitHeight = 594
|
||||
object cxGrid: TcxGrid [0]
|
||||
Left = 0
|
||||
Top = 102
|
||||
Width = 554
|
||||
Height = 466
|
||||
Align = alClient
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
LookAndFeel.Kind = lfOffice11
|
||||
LookAndFeel.NativeStyle = True
|
||||
object cxGridView: TcxGridDBTableView
|
||||
OnDblClick = cxGridViewDblClick
|
||||
NavigatorButtons.ConfirmDelete = False
|
||||
FilterBox.Visible = fvNever
|
||||
DataController.DataSource = dsDataSource
|
||||
DataController.Filter.Options = [fcoCaseInsensitive]
|
||||
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText]
|
||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||
DataController.Summary.FooterSummaryItems = <>
|
||||
DataController.Summary.SummaryGroups = <>
|
||||
OptionsBehavior.CellHints = True
|
||||
OptionsCustomize.ColumnFiltering = False
|
||||
OptionsCustomize.ColumnGrouping = False
|
||||
OptionsCustomize.ColumnsQuickCustomization = True
|
||||
OptionsData.Deleting = False
|
||||
OptionsData.DeletingConfirmation = False
|
||||
OptionsData.Editing = False
|
||||
OptionsData.Inserting = False
|
||||
OptionsSelection.CellSelect = False
|
||||
OptionsSelection.UnselectFocusedRecordOnExit = False
|
||||
OptionsView.CellEndEllipsis = True
|
||||
OptionsView.CellAutoHeight = True
|
||||
OptionsView.ColumnAutoWidth = True
|
||||
OptionsView.DataRowHeight = 22
|
||||
OptionsView.Footer = True
|
||||
OptionsView.GridLineColor = clHighlight
|
||||
OptionsView.GridLines = glHorizontal
|
||||
OptionsView.GroupByBox = False
|
||||
OptionsView.HeaderEndEllipsis = True
|
||||
Styles.Inactive = cxStyleSelection
|
||||
Styles.Selection = cxStyleSelection
|
||||
Styles.OnGetContentStyle = cxGridViewStylesGetContentStyle
|
||||
end
|
||||
object cxGridLevel: TcxGridLevel
|
||||
GridView = cxGridView
|
||||
end
|
||||
end
|
||||
inline frViewFiltroBase1: TfrViewFiltroBase [1]
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 554
|
||||
Height = 102
|
||||
Align = alTop
|
||||
TabOrder = 1
|
||||
Visible = False
|
||||
ExplicitWidth = 554
|
||||
inherited TBXDockablePanel1: TTBXDockablePanel
|
||||
ExplicitWidth = 554
|
||||
ExplicitHeight = 102
|
||||
inherited dxLayoutControl1: TdxLayoutControl
|
||||
Width = 554
|
||||
ExplicitWidth = 554
|
||||
inherited txtFiltroTodo: TcxTextEdit
|
||||
ExplicitWidth = 273
|
||||
Width = 273
|
||||
end
|
||||
inherited edtFechaIniFiltro: TcxDateEdit
|
||||
ExplicitWidth = 121
|
||||
Width = 121
|
||||
end
|
||||
inherited edtFechaFinFiltro: TcxDateEdit
|
||||
Left = 344
|
||||
ExplicitLeft = 344
|
||||
ExplicitWidth = 121
|
||||
Width = 121
|
||||
end
|
||||
end
|
||||
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
|
||||
Width = 554
|
||||
ExplicitWidth = 554
|
||||
inherited tbxBotones: TTBXToolbar
|
||||
Width = 544
|
||||
ExplicitWidth = 544
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object pnlAgrupaciones: TTBXDockablePanel
|
||||
Left = 0
|
||||
Top = 568
|
||||
MinClientHeight = 8
|
||||
Align = alBottom
|
||||
Caption = 'pnlAgrupaciones'
|
||||
DockedHeight = 26
|
||||
FloatingWidth = 128
|
||||
FloatingHeight = 26
|
||||
SupportedDocks = [dkStandardDock, dkMultiDock]
|
||||
TabOrder = 2
|
||||
Visible = False
|
||||
object TBXAlignmentPanel1: TTBXAlignmentPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 554
|
||||
Height = 26
|
||||
Margins.Left = 10
|
||||
Align = alTop
|
||||
TabOrder = 0
|
||||
object TBXToolbar1: TTBXToolbar
|
||||
Left = 10
|
||||
Top = 0
|
||||
Width = 544
|
||||
Height = 26
|
||||
Align = alTop
|
||||
AutoResize = False
|
||||
Caption = 'TBXToolbar1'
|
||||
TabOrder = 0
|
||||
object TBXItem1: TTBXItem
|
||||
Action = actQuitarAgrupaciones
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object dxComponentPrinter: TdxComponentPrinter
|
||||
CurrentLink = dxComponentPrinterLink
|
||||
PreviewOptions.EnableOptions = [peoCanChangeMargins, peoPageBackground, peoPageSetup, peoPreferences, peoPrint]
|
||||
PreviewOptions.VisibleOptions = [pvoPageBackground, pvoPageSetup, pvoPreferences, pvoPrint, pvoPrintStyles, pvoReportFileOperations, pvoPageMargins]
|
||||
PreviewOptions.WindowState = wsMaximized
|
||||
Version = 0
|
||||
Left = 368
|
||||
Top = 128
|
||||
object dxComponentPrinterLink: TdxGridReportLink
|
||||
Active = True
|
||||
Component = cxGrid
|
||||
PrinterPage.DMPaper = 9
|
||||
PrinterPage.Footer = 6350
|
||||
PrinterPage.GrayShading = True
|
||||
PrinterPage.Header = 6350
|
||||
PrinterPage.Margins.Bottom = 12700
|
||||
PrinterPage.Margins.Left = 12700
|
||||
PrinterPage.Margins.Right = 12700
|
||||
PrinterPage.Margins.Top = 12700
|
||||
PrinterPage.PageSize.X = 210000
|
||||
PrinterPage.PageSize.Y = 297000
|
||||
PrinterPage.ScaleMode = smFit
|
||||
PrinterPage._dxMeasurementUnits_ = 0
|
||||
PrinterPage._dxLastMU_ = 2
|
||||
ReportDocument.CreationDate = 39296.809313506940000000
|
||||
StyleManager = dxPrintStyleManager1
|
||||
OptionsCards.Shadow.Depth = 0
|
||||
OptionsExpanding.ExpandGroupRows = True
|
||||
OptionsExpanding.ExpandMasterRows = True
|
||||
OptionsFormatting.SuppressBackgroundBitmaps = True
|
||||
OptionsFormatting.UseNativeStyles = True
|
||||
OptionsFormatting.ConsumeSelectionStyle = True
|
||||
OptionsLevels.Unwrap = True
|
||||
OptionsRefinements.TransparentGraphics = True
|
||||
OptionsSize.AutoWidth = True
|
||||
OptionsView.Caption = False
|
||||
OptionsView.ExpandButtons = False
|
||||
OptionsView.FilterBar = False
|
||||
StyleRepository = cxStyleRepositoryInforme
|
||||
Styles.Content = cxStyleContentInforme
|
||||
Styles.Footer = cxStyleFooterInforme
|
||||
Styles.Group = cxStyleGroupInforme
|
||||
Styles.Header = cxStyleHeaderInforme
|
||||
Styles.Selection = cxStyleSelectionInforme
|
||||
BuiltInReportLink = True
|
||||
end
|
||||
end
|
||||
object dxPSEngineController1: TdxPSEngineController
|
||||
LookAndFeel = pslfOffice11
|
||||
UseNativeLookAndFeel = False
|
||||
Left = 336
|
||||
Top = 128
|
||||
end
|
||||
object cxStyleRepository1: TcxStyleRepository
|
||||
Left = 296
|
||||
Top = 128
|
||||
object cxStyleEven: TcxStyle
|
||||
end
|
||||
object cxStyleOdd: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = clInactiveCaptionText
|
||||
end
|
||||
object cxStyleSelection: TcxStyle
|
||||
AssignedValues = [svColor, svTextColor]
|
||||
Color = clHighlight
|
||||
TextColor = clHighlightText
|
||||
end
|
||||
object cxStyleSinOrden: TcxStyle
|
||||
end
|
||||
object cxStyleConOrden: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = 16119285
|
||||
end
|
||||
object cxStyleFiltered: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = clInfoBk
|
||||
end
|
||||
object cxStyleFilteredConOrden: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = 14546175
|
||||
end
|
||||
end
|
||||
object cxViewGridPopupMenu: TcxGridPopupMenu
|
||||
Grid = cxGrid
|
||||
PopupMenus = <
|
||||
item
|
||||
GridView = cxGridView
|
||||
HitTypes = [gvhtCell]
|
||||
Index = 0
|
||||
end>
|
||||
Left = 264
|
||||
Top = 128
|
||||
end
|
||||
object ActionList1: TActionList
|
||||
Left = 400
|
||||
Top = 360
|
||||
object actQuitarAgrupaciones: TAction
|
||||
Caption = 'Quitar agrupaciones'
|
||||
OnExecute = actQuitarAgrupacionesExecute
|
||||
OnUpdate = actQuitarAgrupacionesUpdate
|
||||
end
|
||||
end
|
||||
object PngImageList10: TPngImageList
|
||||
PngImages = <>
|
||||
Left = 368
|
||||
Top = 360
|
||||
end
|
||||
object cxStyleRepositoryInforme: TcxStyleRepository
|
||||
Left = 368
|
||||
Top = 160
|
||||
object cxStyleContentInforme: TcxStyle
|
||||
AssignedValues = [svColor, svFont, svTextColor]
|
||||
Color = clWhite
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
TextColor = clBlack
|
||||
end
|
||||
object cxStyleFooterInforme: TcxStyle
|
||||
AssignedValues = [svColor, svFont, svTextColor]
|
||||
Color = 14803425
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = [fsBold]
|
||||
TextColor = clBlack
|
||||
end
|
||||
object cxStyleGroupInforme: TcxStyle
|
||||
AssignedValues = [svColor, svFont, svTextColor]
|
||||
Color = clWhite
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -12
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = [fsBold]
|
||||
TextColor = clBlack
|
||||
end
|
||||
object cxStyleHeaderInforme: TcxStyle
|
||||
AssignedValues = [svColor, svFont, svTextColor]
|
||||
Color = 14803425
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = [fsBold]
|
||||
TextColor = clBlack
|
||||
end
|
||||
object cxStyleSelectionInforme: TcxStyle
|
||||
AssignedValues = [svColor, svFont, svTextColor]
|
||||
Color = clWhite
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clBlack
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
TextColor = clBlack
|
||||
end
|
||||
end
|
||||
object dxPrintStyleManager1: TdxPrintStyleManager
|
||||
CurrentStyle = dxPrintStyleManager1Style1
|
||||
Version = 0
|
||||
Left = 336
|
||||
Top = 160
|
||||
object dxPrintStyleManager1Style1: TdxPSPrintStyle
|
||||
PrinterPage.DMPaper = 9
|
||||
PrinterPage.Footer = 6350
|
||||
PrinterPage.Header = 6350
|
||||
PrinterPage.Margins.Bottom = 20000
|
||||
PrinterPage.Margins.Left = 12700
|
||||
PrinterPage.Margins.Right = 12700
|
||||
PrinterPage.Margins.Top = 20000
|
||||
PrinterPage.PageFooter.CenterTitle.Strings = (
|
||||
'[Date & Time Printed]')
|
||||
PrinterPage.PageFooter.Font.Charset = DEFAULT_CHARSET
|
||||
PrinterPage.PageFooter.Font.Color = clBlack
|
||||
PrinterPage.PageFooter.Font.Height = -12
|
||||
PrinterPage.PageFooter.Font.Name = 'Tahoma'
|
||||
PrinterPage.PageFooter.Font.Style = []
|
||||
PrinterPage.PageFooter.LeftTitle.Strings = (
|
||||
'LUIS LEON REPRESENTACIONES S.L.')
|
||||
PrinterPage.PageFooter.RightTitle.Strings = (
|
||||
'[Page #] de [Total Pages]')
|
||||
PrinterPage.PageHeader.Font.Charset = DEFAULT_CHARSET
|
||||
PrinterPage.PageHeader.Font.Color = clBlack
|
||||
PrinterPage.PageHeader.Font.Height = -15
|
||||
PrinterPage.PageHeader.Font.Name = 'Tahoma'
|
||||
PrinterPage.PageHeader.Font.Style = []
|
||||
PrinterPage.PageHeader.LeftTitle.Strings = (
|
||||
'')
|
||||
PrinterPage.PageSize.X = 210000
|
||||
PrinterPage.PageSize.Y = 297000
|
||||
PrinterPage._dxMeasurementUnits_ = 0
|
||||
PrinterPage._dxLastMU_ = 2
|
||||
BuiltInStyle = True
|
||||
end
|
||||
end
|
||||
end
|
||||
221
Source/GUIBase/uViewGrid.pas
Normal file
221
Source/GUIBase/uViewGrid.pas
Normal file
@ -0,0 +1,221 @@
|
||||
{*******************************************************}
|
||||
{ }
|
||||
{ Administración de puntos de venta }
|
||||
{ }
|
||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
||||
{ }
|
||||
{*******************************************************}
|
||||
|
||||
unit uViewGrid;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
|
||||
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
||||
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
|
||||
cxGridPopupMenu, uViewFiltroBase, ComCtrls, cxPC, ImgList, PngImageList,
|
||||
TB2Item, TBX, TB2Dock, TB2Toolbar, TBXDkPanels, dxPgsDlg;
|
||||
|
||||
type
|
||||
IViewGrid = interface(IViewGridBase)
|
||||
['{7EA40980-AD73-4590-A53A-932316C7B121}']
|
||||
end;
|
||||
|
||||
TfrViewGrid = class(TfrViewGridBase, IViewGrid)
|
||||
cxGrid: TcxGrid;
|
||||
cxGridLevel: TcxGridLevel;
|
||||
cxGridView: TcxGridDBTableView;
|
||||
dxComponentPrinter: TdxComponentPrinter;
|
||||
dxPSEngineController1: TdxPSEngineController;
|
||||
cxStyleRepository1: TcxStyleRepository;
|
||||
cxStyleEven: TcxStyle;
|
||||
cxStyleOdd: TcxStyle;
|
||||
cxStyleSelection: TcxStyle;
|
||||
cxStyleSinOrden: TcxStyle;
|
||||
cxStyleConOrden: TcxStyle;
|
||||
cxViewGridPopupMenu: TcxGridPopupMenu;
|
||||
dxComponentPrinterLink: TdxGridReportLink;
|
||||
cxStyleFiltered: TcxStyle;
|
||||
cxStyleFilteredConOrden: TcxStyle;
|
||||
frViewFiltroBase1: TfrViewFiltroBase;
|
||||
ActionList1: TActionList;
|
||||
PngImageList10: TPngImageList;
|
||||
actQuitarAgrupaciones: TAction;
|
||||
pnlAgrupaciones: TTBXDockablePanel;
|
||||
TBXAlignmentPanel1: TTBXAlignmentPanel;
|
||||
TBXToolbar1: TTBXToolbar;
|
||||
TBXItem1: TTBXItem;
|
||||
cxStyleRepositoryInforme: TcxStyleRepository;
|
||||
cxStyleContentInforme: TcxStyle;
|
||||
cxStyleFooterInforme: TcxStyle;
|
||||
cxStyleGroupInforme: TcxStyle;
|
||||
cxStyleHeaderInforme: TcxStyle;
|
||||
cxStyleSelectionInforme: TcxStyle;
|
||||
dxPrintStyleManager1: TdxPrintStyleManager;
|
||||
dxPrintStyleManager1Style1: TdxPSPrintStyle;
|
||||
procedure cxGridViewStylesGetContentStyle(
|
||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||||
procedure cxGridViewDblClick(Sender: TObject);
|
||||
procedure actQuitarAgrupacionesExecute(Sender: TObject);
|
||||
procedure actQuitarAgrupacionesUpdate(Sender: TObject);
|
||||
protected
|
||||
function GetGrid : TcxGrid; override;
|
||||
function GetFocusedView : TcxGridDBTableView; override;
|
||||
procedure SetPopupMenu(const Value: TPopupMenu); override;
|
||||
procedure FilterChanged(Sender : TObject); override;
|
||||
procedure OnChangeValoresFiltro(Sender: TObject);
|
||||
procedure SetViewFiltros(const Value: IViewFiltroBase); override;
|
||||
function AddFilterGrid(const Operacion: tcxFilterBoolOperatorKind): TcxFilterCriteriaItemList;
|
||||
public
|
||||
function esSeleccionCeldaDatos: Boolean; override;
|
||||
procedure Preview; override;
|
||||
procedure Print; override;
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uDataModuleBase, uDBSelectionListUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{
|
||||
********************************* TfrViewGrid **********************************
|
||||
}
|
||||
|
||||
{ TfrViewGrid }
|
||||
function TfrViewGrid.GetFocusedView: TcxGridDBTableView;
|
||||
begin
|
||||
Result := cxGridView;
|
||||
end;
|
||||
|
||||
function TfrViewGrid.GetGrid: TcxGrid;
|
||||
begin
|
||||
Result := cxGrid;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.OnChangeValoresFiltro(Sender: TObject);
|
||||
begin
|
||||
cxGridView.DataController.Filter.BeginUpdate;
|
||||
RefrescarFiltro;
|
||||
cxGridView.DataController.Filter.EndUpdate;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.Preview;
|
||||
begin
|
||||
inherited;
|
||||
dxComponentPrinter.Preview;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.Print;
|
||||
begin
|
||||
inherited;
|
||||
dxComponentPrinter.Print(True, nil, nil);
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.SetPopupMenu(const Value: TPopupMenu);
|
||||
begin
|
||||
inherited;
|
||||
cxViewGridPopupMenu.PopupMenus[0].PopupMenu := FPopupMenu;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.SetViewFiltros(const Value: IViewFiltroBase);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(ViewFiltros) then
|
||||
ViewFiltros.OnFiltrosChange := OnChangeValoresFiltro
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.actQuitarAgrupacionesExecute(Sender: TObject);
|
||||
var
|
||||
Columna: TcxGridDBColumn;
|
||||
i: Integer;
|
||||
begin
|
||||
inherited;
|
||||
for i := 0 to cxGridView.ColumnCount - 1 do
|
||||
begin
|
||||
Columna := (cxGridView as TcxGridDBTableView).Columns[i];
|
||||
if not (Columna.GroupIndex < 0) then
|
||||
begin
|
||||
Columna.GroupIndex := -1;
|
||||
Columna.Visible := True;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.actQuitarAgrupacionesUpdate(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
(Sender as TAction).Enabled := (cxGridView.GroupedColumnCount > 0);
|
||||
end;
|
||||
|
||||
function TfrViewGrid.AddFilterGrid(const Operacion: tcxFilterBoolOperatorKind): TcxFilterCriteriaItemList;
|
||||
var
|
||||
AItemList: TcxFilterCriteriaItemList;
|
||||
begin
|
||||
AItemList := cxGridView.DataController.Filter.Root;
|
||||
Result := AItemList.AddItemList(Operacion);
|
||||
end;
|
||||
|
||||
constructor TfrViewGrid.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
ViewFiltros := frViewFiltroBase1;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.cxGridViewDblClick(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(FOnDblClick) then
|
||||
FOnDblClick(Sender);
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.cxGridViewStylesGetContentStyle(
|
||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(AItem) then
|
||||
begin
|
||||
if AItem.SortOrder = soNone then
|
||||
AStyle := cxStyleSinOrden
|
||||
else begin
|
||||
AStyle := cxStyleConOrden;
|
||||
if Filtered then
|
||||
AStyle := cxStyleFilteredConOrden;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
destructor TfrViewGrid.Destroy;
|
||||
begin
|
||||
ViewFiltros := Nil;
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TfrViewGrid.esSeleccionCeldaDatos: Boolean;
|
||||
begin
|
||||
Result := not (cxGridView.Controller.FocusedRecord is TcxGridGroupRow);
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid.FilterChanged(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Filtered then
|
||||
_FocusedView.Styles.Content := cxStyleFiltered
|
||||
else
|
||||
_FocusedView.Styles.Content := nil;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
136
Source/GUIBase/uViewGrid2Niveles.dfm
Normal file
136
Source/GUIBase/uViewGrid2Niveles.dfm
Normal file
@ -0,0 +1,136 @@
|
||||
inherited frViewGrid2Niveles: TfrViewGrid2Niveles
|
||||
Width = 519
|
||||
Height = 367
|
||||
ExplicitWidth = 519
|
||||
ExplicitHeight = 367
|
||||
object cxGrid: TcxGrid [0]
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 519
|
||||
Height = 367
|
||||
Align = alClient
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
TabOrder = 0
|
||||
LookAndFeel.Kind = lfOffice11
|
||||
LookAndFeel.NativeStyle = True
|
||||
object cxGridView1N: TcxGridDBTableView
|
||||
OnDblClick = cxGridView1NDblClick
|
||||
NavigatorButtons.ConfirmDelete = False
|
||||
FilterBox.Visible = fvNever
|
||||
DataController.DataSource = dsDataSource
|
||||
DataController.Filter.Options = [fcoCaseInsensitive]
|
||||
DataController.Options = [dcoAnsiSort, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText]
|
||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||
DataController.Summary.FooterSummaryItems = <>
|
||||
DataController.Summary.SummaryGroups = <>
|
||||
OptionsBehavior.CellHints = True
|
||||
OptionsCustomize.ColumnFiltering = False
|
||||
OptionsCustomize.ColumnGrouping = False
|
||||
OptionsCustomize.ColumnsQuickCustomization = True
|
||||
OptionsData.Deleting = False
|
||||
OptionsData.DeletingConfirmation = False
|
||||
OptionsData.Editing = False
|
||||
OptionsData.Inserting = False
|
||||
OptionsSelection.CellSelect = False
|
||||
OptionsSelection.UnselectFocusedRecordOnExit = False
|
||||
OptionsView.CellEndEllipsis = True
|
||||
OptionsView.CellAutoHeight = True
|
||||
OptionsView.ColumnAutoWidth = True
|
||||
OptionsView.Footer = True
|
||||
OptionsView.FooterAutoHeight = True
|
||||
OptionsView.GridLineColor = cl3DLight
|
||||
OptionsView.GroupByBox = False
|
||||
OptionsView.HeaderEndEllipsis = True
|
||||
Styles.Inactive = cxStyleSelection
|
||||
Styles.Selection = cxStyleSelection
|
||||
Styles.OnGetContentStyle = cxGridViewStylesGetContentStyle
|
||||
end
|
||||
object cxGridView: TcxGridDBTableView
|
||||
NavigatorButtons.ConfirmDelete = False
|
||||
DataController.Summary.DefaultGroupSummaryItems = <>
|
||||
DataController.Summary.FooterSummaryItems = <>
|
||||
DataController.Summary.SummaryGroups = <>
|
||||
end
|
||||
object cxGridLevel1N: TcxGridLevel
|
||||
GridView = cxGridView1N
|
||||
object cxGridLevel: TcxGridLevel
|
||||
GridView = cxGridView
|
||||
end
|
||||
end
|
||||
end
|
||||
object dxComponentPrinter: TdxComponentPrinter
|
||||
CurrentLink = dxComponentPrinterLink
|
||||
PreviewOptions.EnableOptions = [peoCanChangeMargins, peoPageBackground, peoPageSetup, peoPreferences, peoPrint]
|
||||
PreviewOptions.VisibleOptions = [pvoPageBackground, pvoPageSetup, pvoPreferences, pvoPrint, pvoPrintStyles, pvoReportFileOperations, pvoPageMargins]
|
||||
PreviewOptions.WindowState = wsMaximized
|
||||
Version = 0
|
||||
Left = 368
|
||||
Top = 128
|
||||
object dxComponentPrinterLink: TdxGridReportLink
|
||||
Component = cxGrid
|
||||
PrinterPage.DMPaper = 9
|
||||
PrinterPage.Footer = 6350
|
||||
PrinterPage.Header = 6350
|
||||
PrinterPage.Margins.Bottom = 12700
|
||||
PrinterPage.Margins.Left = 12700
|
||||
PrinterPage.Margins.Right = 12700
|
||||
PrinterPage.Margins.Top = 12700
|
||||
PrinterPage.PageSize.X = 210000
|
||||
PrinterPage.PageSize.Y = 297000
|
||||
PrinterPage._dxMeasurementUnits_ = 0
|
||||
PrinterPage._dxLastMU_ = 2
|
||||
BuiltInReportLink = True
|
||||
end
|
||||
end
|
||||
object dxPSEngineController1: TdxPSEngineController
|
||||
LookAndFeel = pslfOffice11
|
||||
UseNativeLookAndFeel = False
|
||||
Left = 336
|
||||
Top = 128
|
||||
end
|
||||
object cxStyleRepository1: TcxStyleRepository
|
||||
Left = 296
|
||||
Top = 128
|
||||
object cxStyleEven: TcxStyle
|
||||
end
|
||||
object cxStyleOdd: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = clInactiveCaptionText
|
||||
end
|
||||
object cxStyleSelection: TcxStyle
|
||||
AssignedValues = [svColor, svTextColor]
|
||||
Color = clHighlight
|
||||
TextColor = clHighlightText
|
||||
end
|
||||
object cxStyleSinOrden: TcxStyle
|
||||
end
|
||||
object cxStyleConOrden: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = 16119285
|
||||
end
|
||||
object cxStyleFiltered: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = clInfoBk
|
||||
end
|
||||
object cxStyleFilteredConOrden: TcxStyle
|
||||
AssignedValues = [svColor]
|
||||
Color = 14546175
|
||||
end
|
||||
end
|
||||
object cxViewGridPopupMenu: TcxGridPopupMenu
|
||||
Grid = cxGrid
|
||||
PopupMenus = <
|
||||
item
|
||||
GridView = cxGridView1N
|
||||
HitTypes = [gvhtCell]
|
||||
Index = 0
|
||||
end>
|
||||
Left = 264
|
||||
Top = 128
|
||||
end
|
||||
end
|
||||
211
Source/GUIBase/uViewGrid2Niveles.pas
Normal file
211
Source/GUIBase/uViewGrid2Niveles.pas
Normal file
@ -0,0 +1,211 @@
|
||||
{*******************************************************}
|
||||
{ }
|
||||
{ Administración de puntos de venta }
|
||||
{ }
|
||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
||||
{ }
|
||||
{*******************************************************}
|
||||
|
||||
unit uViewGrid2Niveles;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
|
||||
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
||||
cxIntlPrintSys3, dxPSPrvwAdv, uViewGridBase, cxGridCustomPopupMenu,
|
||||
cxGridPopupMenu;
|
||||
|
||||
type
|
||||
IViewGrid2Niveles = interface(IViewGridBase)
|
||||
['{7EA40980-AD73-4590-A53A-932316C7B121}']
|
||||
end;
|
||||
|
||||
TfrViewGrid2Niveles = class(TfrViewGridBase, IViewGrid2Niveles)
|
||||
cxGrid: TcxGrid;
|
||||
cxGridLevel1N: TcxGridLevel;
|
||||
cxGridView1N: TcxGridDBTableView;
|
||||
dxComponentPrinter: TdxComponentPrinter;
|
||||
dxPSEngineController1: TdxPSEngineController;
|
||||
cxStyleRepository1: TcxStyleRepository;
|
||||
cxStyleEven: TcxStyle;
|
||||
cxStyleOdd: TcxStyle;
|
||||
cxStyleSelection: TcxStyle;
|
||||
cxStyleSinOrden: TcxStyle;
|
||||
cxStyleConOrden: TcxStyle;
|
||||
cxViewGridPopupMenu: TcxGridPopupMenu;
|
||||
dxComponentPrinterLink: TdxGridReportLink;
|
||||
cxStyleFiltered: TcxStyle;
|
||||
cxStyleFilteredConOrden: TcxStyle;
|
||||
cxGridLevel: TcxGridLevel;
|
||||
cxGridView: TcxGridDBTableView;
|
||||
procedure cxGridViewStylesGetContentStyle(
|
||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||||
procedure cxGridView1NDblClick(Sender: TObject);
|
||||
protected
|
||||
function GetGrid : TcxGrid; override;
|
||||
function GetFocusedView : TcxGridDBTableView; override;
|
||||
procedure SetPopupMenu(const Value: TPopupMenu); override;
|
||||
procedure FilterChanged(Sender : TObject); override;
|
||||
function GetFiltered: Boolean; override;
|
||||
procedure FiltrarGrid(TextoFiltro : String); override;
|
||||
public
|
||||
procedure AjustarAncho; override;
|
||||
procedure ContraerTodo; override;
|
||||
procedure ExpandirTodo; override;
|
||||
function IsEmpty : Boolean; override;
|
||||
procedure RestoreFromRegistry (const Path : String); override;
|
||||
procedure StoreToRegistry (const Path : String); override;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uDataModuleBase, uDBSelectionListUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{
|
||||
********************************* TfrViewGrid **********************************
|
||||
}
|
||||
|
||||
{ TfrViewGrid }
|
||||
function TfrViewGrid2Niveles.GetFiltered: Boolean;
|
||||
begin
|
||||
Result := inherited GetFiltered;
|
||||
Result := Result OR (cxGridView1N.DataController.Filter.Root.Count > 0);
|
||||
end;
|
||||
|
||||
function TfrViewGrid2Niveles.GetFocusedView: TcxGridDBTableView;
|
||||
begin
|
||||
Result := cxGridView;
|
||||
end;
|
||||
|
||||
function TfrViewGrid2Niveles.GetGrid: TcxGrid;
|
||||
begin
|
||||
Result := cxGrid;
|
||||
end;
|
||||
|
||||
function TfrViewGrid2Niveles.IsEmpty: Boolean;
|
||||
begin
|
||||
Result := (cxGridView1N.ViewData.RowCount < 1);
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.RestoreFromRegistry(const Path: String);
|
||||
begin
|
||||
inherited;
|
||||
cxGridView1N.RestoreFromRegistry(Path + '\\GridSettings\\' + Self.Name, False, False, []);
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.SetPopupMenu(const Value: TPopupMenu);
|
||||
begin
|
||||
inherited;
|
||||
cxViewGridPopupMenu.PopupMenus[0].PopupMenu := FPopupMenu;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.StoreToRegistry(const Path: String);
|
||||
begin
|
||||
inherited;
|
||||
cxGridView1N.StoreToRegistry(Path + '\\GridSettings\\' + Self.Name, False, []);
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.AjustarAncho;
|
||||
begin
|
||||
inherited;
|
||||
cxGridView1N.ApplyBestFit;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.ContraerTodo;
|
||||
begin
|
||||
inherited;
|
||||
cxGridView1N.ViewData.Collapse(True);
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.cxGridView1NDblClick(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(FOnDblClick) then
|
||||
FOnDblClick(Sender);
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.cxGridViewStylesGetContentStyle(
|
||||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||||
begin
|
||||
inherited;
|
||||
if Assigned(AItem) then
|
||||
begin
|
||||
if AItem.SortOrder = soNone then
|
||||
AStyle := cxStyleSinOrden
|
||||
else begin
|
||||
AStyle := cxStyleConOrden;
|
||||
if Filtered then
|
||||
AStyle := cxStyleFilteredConOrden;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.ExpandirTodo;
|
||||
begin
|
||||
inherited;
|
||||
cxGridView1N.ViewData.Expand(True);
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.FilterChanged(Sender: TObject);
|
||||
begin
|
||||
inherited;
|
||||
if Filtered then
|
||||
begin
|
||||
_FocusedView.Styles.Content := cxStyleFiltered;
|
||||
cxGridView1N.Styles.Content := cxStyleFiltered
|
||||
end
|
||||
else
|
||||
begin
|
||||
_FocusedView.Styles.Content := nil;
|
||||
cxGridView1N.Styles.Content := nil
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewGrid2Niveles.FiltrarGrid(TextoFiltro: String);
|
||||
var
|
||||
Columna: TcxGridDBColumn;
|
||||
i: Integer;
|
||||
AItemList: TcxFilterCriteriaItemList;
|
||||
begin
|
||||
inherited;
|
||||
|
||||
with cxGridView1N.DataController.Filter do
|
||||
begin
|
||||
BeginUpdate;
|
||||
try
|
||||
Options := [fcoCaseInsensitive, fcoSoftCompare];
|
||||
Root.Clear;
|
||||
if Length(TextoFiltro) > 0 then
|
||||
begin
|
||||
AItemList := Root.AddItemList(fboAnd);
|
||||
AItemList.BoolOperatorKind := fboOr;
|
||||
for i:=0 to (cxGridView1N as TcxGridDBTableView).ColumnCount - 1 do
|
||||
begin
|
||||
Columna := (cxGridView1N as TcxGridDBTableView).Columns[i];
|
||||
if (Length(Columna.Caption) > 0) and (Columna.Caption <> 'RecID') then
|
||||
AItemList.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
|
||||
end;
|
||||
Active := True;
|
||||
end
|
||||
else
|
||||
Active := False;
|
||||
finally
|
||||
EndUpdate;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
10
Source/GUIBase/uViewGridBase.dfm
Normal file
10
Source/GUIBase/uViewGridBase.dfm
Normal file
@ -0,0 +1,10 @@
|
||||
inherited frViewGridBase: TfrViewGridBase
|
||||
Width = 441
|
||||
Height = 268
|
||||
ExplicitWidth = 441
|
||||
ExplicitHeight = 268
|
||||
object dsDataSource: TDADataSource
|
||||
Left = 8
|
||||
Top = 16
|
||||
end
|
||||
end
|
||||
421
Source/GUIBase/uViewGridBase.pas
Normal file
421
Source/GUIBase/uViewGridBase.pas
Normal file
@ -0,0 +1,421 @@
|
||||
{*******************************************************}
|
||||
{ }
|
||||
{ Administración de puntos de venta }
|
||||
{ }
|
||||
{ Copyright (C) 2006 Rodax Software S.L. }
|
||||
{ }
|
||||
{*******************************************************}
|
||||
|
||||
unit uViewGridBase;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||||
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
|
||||
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
||||
cxGridTableView, cxGridDBTableView, cxGrid, Menus, ActnList, Grids,
|
||||
DBGrids, JvComponent, JvFormAutoSize, dxPSGlbl, dxPSUtl, dxPSEngn,
|
||||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPrnDlg,
|
||||
cxIntlPrintSys3, dxPSPrvwAdv, uGridUtils, uViewFiltroBase;
|
||||
|
||||
type
|
||||
IViewGridBase = interface(IViewBase)
|
||||
['{D5B9B017-2A2E-44AC-8223-E54664C6BC66}']
|
||||
procedure ExpandirTodo;
|
||||
procedure ContraerTodo;
|
||||
procedure AjustarAncho;
|
||||
|
||||
procedure Preview;
|
||||
procedure Print;
|
||||
procedure PrintSetup;
|
||||
|
||||
function IsEmpty : Boolean;
|
||||
|
||||
procedure SaveGridStatus;
|
||||
procedure RestoreGridStatus;
|
||||
|
||||
procedure GotoFirst;
|
||||
procedure GotoLast;
|
||||
|
||||
function GetFocusedView : TcxGridDBTableView;
|
||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
||||
|
||||
function GetGrid : TcxGrid;
|
||||
property _Grid : TcxGrid read GetGrid;
|
||||
|
||||
procedure StoreToRegistry (const Path : String);
|
||||
procedure RestoreFromRegistry (const Path : String);
|
||||
|
||||
procedure SetDblClick(const Value: TNotifyEvent);
|
||||
function GetDblClick: TNotifyEvent;
|
||||
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
||||
|
||||
procedure SetPopupMenu(const Value: TPopupMenu);
|
||||
function GetPopupMenu: TPopupMenu;
|
||||
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
|
||||
|
||||
function GetMultiSelect: Boolean;
|
||||
procedure SetMultiSelect(const Value: Boolean);
|
||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
||||
|
||||
procedure SetFilter(const Value: string);
|
||||
function GetFilter: string;
|
||||
property Filter: string read GetFilter write SetFilter;
|
||||
|
||||
function GetFiltered: Boolean;
|
||||
property Filtered : Boolean read GetFiltered;
|
||||
|
||||
function GetViewFiltros: IViewFiltroBase;
|
||||
procedure SetViewFiltros(const Value: IViewFiltroBase);
|
||||
property ViewFiltros: IViewFiltroBase read GetViewFiltros write SetViewFiltros;
|
||||
|
||||
function esSeleccionCeldaDatos: Boolean;
|
||||
|
||||
function getNumSeleccionados: Integer;
|
||||
property NumSeleccionados: Integer read getNumSeleccionados;
|
||||
|
||||
function Locate(const AItemIndex: Integer; const AValue: String;
|
||||
const APartialCompare: Boolean = False) : Boolean;
|
||||
end;
|
||||
|
||||
|
||||
TfrViewGridBase = class(TfrViewBase, IViewGridBase)
|
||||
dsDataSource: TDADataSource;
|
||||
private
|
||||
FViewFiltros: IViewFiltroBase;
|
||||
FFilter: string;
|
||||
FOnFilterChanged : TNotifyEvent;
|
||||
FGridStatus : TcxGridStatus;
|
||||
protected
|
||||
FOnDblClick: TNotifyEvent;
|
||||
FPopupMenu: TPopupMenu;
|
||||
function GetMultiSelect: Boolean; virtual;
|
||||
procedure SetMultiSelect(const Value: Boolean); virtual;
|
||||
procedure SetPopupMenu(const Value: TPopupMenu); virtual;
|
||||
function GetPopupMenu: TPopupMenu; virtual;
|
||||
procedure SetDblClick(const Value: TNotifyEvent); virtual;
|
||||
function GetDblClick: TNotifyEvent; virtual;
|
||||
function GetGrid : TcxGrid; virtual; abstract;
|
||||
function GetFocusedView : TcxGridDBTableView; virtual; abstract;
|
||||
function esSeleccionCeldaDatos: Boolean; virtual; abstract;
|
||||
function getNumSeleccionados: Integer;
|
||||
|
||||
procedure SetFilter(const Value: string); virtual;
|
||||
procedure RefrescarFiltro;
|
||||
function GetFilter: string; virtual;
|
||||
function GetFiltered: Boolean; virtual;
|
||||
procedure FiltrarGrid(TextoFiltro : String); virtual;
|
||||
function GetViewFiltros: IViewFiltroBase;
|
||||
procedure SetViewFiltros(const Value: IViewFiltroBase); virtual;
|
||||
procedure FilterChanged(Sender : TObject); virtual;
|
||||
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
|
||||
procedure ShowEmbedded(const AParent : TWinControl); override;
|
||||
|
||||
procedure ExpandirTodo; virtual;
|
||||
procedure ContraerTodo; virtual;
|
||||
procedure AjustarAncho; virtual;
|
||||
|
||||
procedure Preview; virtual;
|
||||
procedure Print; virtual;
|
||||
procedure PrintSetup; virtual;
|
||||
|
||||
function IsEmpty : Boolean; virtual;
|
||||
|
||||
procedure SaveGridStatus;
|
||||
procedure RestoreGridStatus;
|
||||
|
||||
procedure GotoFirst;
|
||||
procedure GotoLast;
|
||||
|
||||
procedure StoreToRegistry (const Path : String); virtual;
|
||||
procedure RestoreFromRegistry (const Path : String); virtual;
|
||||
|
||||
function Locate(const AItemIndex: Integer; const AValue: String;
|
||||
const APartialCompare: Boolean = False) : Boolean;
|
||||
|
||||
property Filter: string read GetFilter write SetFilter;
|
||||
property Filtered : Boolean read GetFiltered;
|
||||
|
||||
procedure AnadirOtrosFiltros; virtual;
|
||||
property ViewFiltros: IViewFiltroBase read GetViewFiltros write SetViewFiltros;
|
||||
|
||||
property _FocusedView : TcxGridDBTableView read GetFocusedView;
|
||||
property _Grid : TcxGrid read GetGrid;
|
||||
property OnDblClick: TNotifyEvent read GetDblClick write SetDblClick;
|
||||
property PopupMenu: TPopupMenu read GetPopupMenu write SetPopupMenu;
|
||||
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
|
||||
property NumSeleccionados: Integer read getNumSeleccionados;
|
||||
end;
|
||||
|
||||
procedure Register;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
CCReg, uDataModuleBase, uDBSelectionListUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
procedure Register;
|
||||
begin
|
||||
RegisterCustomContainer(TfrViewGridBase);
|
||||
end;
|
||||
|
||||
{ TfrViewGrid }
|
||||
|
||||
procedure TfrViewGridBase.AjustarAncho;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.ApplyBestFit;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.AnadirOtrosFiltros;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.ContraerTodo;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.ViewData.Collapse(True);
|
||||
end;
|
||||
|
||||
constructor TfrViewGridBase.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
FFilter := '';
|
||||
FOnFilterChanged := FilterChanged;
|
||||
FPopupMenu := nil;
|
||||
FOnDblClick := nil;
|
||||
FGridStatus := NIL;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.ExpandirTodo;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.ViewData.Expand(True);
|
||||
end;
|
||||
|
||||
function TfrViewGridBase.GetDblClick: TNotifyEvent;
|
||||
begin
|
||||
Result := FOnDblClick;
|
||||
end;
|
||||
|
||||
function TfrViewGridBase.GetFilter: string;
|
||||
begin
|
||||
Result := FFilter;
|
||||
end;
|
||||
|
||||
function TfrViewGridBase.GetFiltered: Boolean;
|
||||
begin
|
||||
//Los niveles de los grid no se consideran filtros
|
||||
if (_Grid.Levels.Count > 1) then
|
||||
Result := (_FocusedView.DataController.Filter.Root.Count > 1)
|
||||
else
|
||||
Result := (_FocusedView.DataController.Filter.Root.Count > 0);
|
||||
end;
|
||||
|
||||
function TfrViewGridBase.GetMultiSelect: Boolean;
|
||||
begin
|
||||
Result := _FocusedView.OptionsSelection.MultiSelect;
|
||||
end;
|
||||
|
||||
function TfrViewGridBase.getNumSeleccionados: Integer;
|
||||
begin
|
||||
Result := _FocusedView.DataController.GetSelectedCount;
|
||||
end;
|
||||
|
||||
function TfrViewGridBase.GetPopupMenu: TPopupMenu;
|
||||
begin
|
||||
Result := FPopupMenu;
|
||||
end;
|
||||
|
||||
function TfrViewGridBase.GetViewFiltros: IViewFiltroBase;
|
||||
begin
|
||||
Result := FViewFiltros;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.GotoFirst;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.DataController.GotoFirst;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.GotoLast;
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.DataController.GotoLast;
|
||||
end;
|
||||
|
||||
function TfrViewGridBase.IsEmpty: Boolean;
|
||||
begin
|
||||
Result := (_FocusedView.ViewData.RowCount < 1);
|
||||
end;
|
||||
|
||||
function TfrViewGridBase.Locate(const AItemIndex: Integer; const AValue: String;
|
||||
const APartialCompare: Boolean): Boolean;
|
||||
begin
|
||||
{ if Assigned(_FocusedView) then
|
||||
Result := _FocusedView.DataController.FindRecordIndexByText(0, AItemIndex, AText, APartialCompare, True, True)}
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.Preview;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.Print;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.PrintSetup;
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.RefrescarFiltro;
|
||||
begin
|
||||
//De esta forma obligaremos a que se creen nuevamente todos los filtros, cuando llamemos a este metodo
|
||||
if Assigned(ViewFiltros) then
|
||||
Filter := ViewFiltros.Texto;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.RestoreFromRegistry(const Path : String);
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.RestoreFromRegistry(Path + '\\GridSettings\\' + Self.Name, False, False, [], Self.Name);
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.RestoreGridStatus;
|
||||
begin
|
||||
if Assigned(FGridStatus) and (not IsEmpty) then
|
||||
FGridStatus.Restore(_FocusedView);
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.SaveGridStatus;
|
||||
begin
|
||||
FreeAndNil(FGridStatus);
|
||||
if not IsEmpty then
|
||||
FGridStatus := TcxGridStatus.Create(_FocusedView);
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.SetDblClick(const Value: TNotifyEvent);
|
||||
begin
|
||||
FOnDblClick := Value;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.SetFilter(const Value: string);
|
||||
begin
|
||||
FFilter := Value;
|
||||
|
||||
//Así tendremos el mismo valor en el filtro simple que en el filtro en detalle
|
||||
if Assigned(ViewFiltros) then
|
||||
ViewFiltros.Texto := FFilter;
|
||||
|
||||
FiltrarGrid(FFilter);
|
||||
|
||||
//Obliga a generar todos los filtros de las vista hija
|
||||
AnadirOtrosFiltros;
|
||||
|
||||
if Assigned(FOnFilterChanged) then
|
||||
FOnFilterChanged(Self);
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.SetMultiSelect(const Value: Boolean);
|
||||
begin
|
||||
_FocusedView.OptionsSelection.MultiSelect := Value;
|
||||
// _FocusedView..OnSelectionChanged := SelectionChanged;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.SetPopupMenu(const Value: TPopupMenu);
|
||||
begin
|
||||
FPopupMenu := Value;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.SetViewFiltros(const Value: IViewFiltroBase);
|
||||
begin
|
||||
if Assigned(FViewFiltros) then
|
||||
ViewFiltros.OnFiltrosChange := Nil;
|
||||
|
||||
FViewFiltros := Value;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.ShowEmbedded(const AParent: TWinControl);
|
||||
begin
|
||||
inherited;
|
||||
|
||||
// No activar la tabla ya por si acaso tuviera parámetros
|
||||
{ if not DADataSource.DataTable.Active then
|
||||
DADataSource.DataTable.Active := True;}
|
||||
|
||||
GotoFirst;
|
||||
_FocusedView.Focused := True;
|
||||
if _FocusedView.ViewData.RecordCount > 0 then
|
||||
begin
|
||||
_FocusedView.ViewData.Records[0].Selected := True;
|
||||
_FocusedView.ViewData.Records[0].Focused := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.StoreToRegistry(const Path : String);
|
||||
begin
|
||||
if Assigned(_FocusedView) then
|
||||
_FocusedView.StoreToRegistry(Path + '\\GridSettings\\' + Self.Name, False, [], Self.Name);
|
||||
end;
|
||||
|
||||
procedure TfrViewGridBase.FiltrarGrid(TextoFiltro : String);
|
||||
var
|
||||
Columna: TcxGridDBColumn;
|
||||
i: Integer;
|
||||
AItemList: TcxFilterCriteriaItemList;
|
||||
begin
|
||||
with _FocusedView.DataController.Filter do
|
||||
begin
|
||||
BeginUpdate;
|
||||
try
|
||||
Options := [fcoCaseInsensitive, fcoSoftCompare];
|
||||
Root.Clear;
|
||||
if Length(TextoFiltro) > 0 then
|
||||
begin
|
||||
AItemList := Root.AddItemList(fboAnd);
|
||||
AItemList.BoolOperatorKind := fboOr;
|
||||
for i:=0 to (_FocusedView as TcxGridDBTableView).ColumnCount - 1 do
|
||||
begin
|
||||
Columna := (_FocusedView as TcxGridDBTableView).Columns[i];
|
||||
if (Length(Columna.Caption) > 0) and (Columna.Caption <> 'RecID') then
|
||||
AItemList.AddItem(Columna, foLike, '%'+TextoFiltro+'%', IntToStr(i));
|
||||
end;
|
||||
Active := True;
|
||||
end
|
||||
else
|
||||
Active := False;
|
||||
finally
|
||||
EndUpdate;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TfrViewGridBase.FilterChanged(Sender: TObject);
|
||||
begin
|
||||
//
|
||||
end;
|
||||
|
||||
destructor TfrViewGridBase.Destroy;
|
||||
begin
|
||||
FOnFilterChanged := Nil;
|
||||
if Assigned(FGridStatus) then
|
||||
FreeAndNil(FGridStatus);
|
||||
inherited;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
54
Source/GUIBase/uViewIncidencias.dfm
Normal file
54
Source/GUIBase/uViewIncidencias.dfm
Normal file
@ -0,0 +1,54 @@
|
||||
inherited frViewIncidencias: TfrViewIncidencias
|
||||
Width = 451
|
||||
Height = 370
|
||||
Align = alBottom
|
||||
ExplicitWidth = 451
|
||||
ExplicitHeight = 370
|
||||
object pnlSup: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 451
|
||||
Height = 28
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 0
|
||||
object eIncidenciaActiva: TcxDBCheckBox
|
||||
Left = 2
|
||||
Top = 4
|
||||
Caption = 'Hay incidencias sin resolver'
|
||||
DataBinding.DataField = 'INCIDENCIAS_ACTIVAS'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Properties.ValueChecked = 1
|
||||
Properties.ValueUnchecked = 0
|
||||
TabOrder = 0
|
||||
Transparent = True
|
||||
Width = 359
|
||||
end
|
||||
end
|
||||
object GroupBox1: TGroupBox
|
||||
Left = 0
|
||||
Top = 28
|
||||
Width = 451
|
||||
Height = 342
|
||||
Align = alClient
|
||||
Caption = 'Incidencias'
|
||||
TabOrder = 1
|
||||
DesignSize = (
|
||||
451
|
||||
342)
|
||||
object eIncidencias: TcxDBMemo
|
||||
Left = 10
|
||||
Top = 22
|
||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||
DataBinding.DataField = 'INCIDENCIAS'
|
||||
DataBinding.DataSource = DADataSource
|
||||
TabOrder = 0
|
||||
Height = 305
|
||||
Width = 420
|
||||
end
|
||||
end
|
||||
object DADataSource: TDADataSource
|
||||
Left = 560
|
||||
Top = 8
|
||||
end
|
||||
end
|
||||
30
Source/GUIBase/uViewIncidencias.pas
Normal file
30
Source/GUIBase/uViewIncidencias.pas
Normal file
@ -0,0 +1,30 @@
|
||||
unit uViewIncidencias;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, ExtCtrls, StdCtrls, DB, uDADataTable, cxGraphics,
|
||||
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls,
|
||||
cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit,
|
||||
cxCheckBox, cxMemo;
|
||||
|
||||
type
|
||||
TfrViewIncidencias = class(TfrViewBase)
|
||||
DADataSource: TDADataSource;
|
||||
pnlSup: TPanel;
|
||||
eIncidenciaActiva: TcxDBCheckBox;
|
||||
eIncidencias: TcxDBMemo;
|
||||
GroupBox1: TGroupBox;
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
end.
|
||||
46
Source/GUIBase/uViewObservaciones.dfm
Normal file
46
Source/GUIBase/uViewObservaciones.dfm
Normal file
@ -0,0 +1,46 @@
|
||||
inherited frViewObservaciones: TfrViewObservaciones
|
||||
Width = 300
|
||||
DesignSize = (
|
||||
300
|
||||
226)
|
||||
object Label5: TLabel
|
||||
Left = 8
|
||||
Top = 8
|
||||
Width = 85
|
||||
Height = 13
|
||||
Caption = 'Observaciones'
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clActiveCaption
|
||||
Font.Height = -11
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = [fsBold]
|
||||
ParentFont = False
|
||||
end
|
||||
object Bevel1: TBevel
|
||||
Left = 96
|
||||
Top = 8
|
||||
Width = 192
|
||||
Height = 9
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Shape = bsBottomLine
|
||||
end
|
||||
object memObservaciones: TcxDBMemo
|
||||
Left = 16
|
||||
Top = 32
|
||||
Anchors = [akLeft, akTop, akRight, akBottom]
|
||||
DataBinding.DataField = 'OBSERVACIONES'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Properties.ScrollBars = ssVertical
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 0
|
||||
Height = 179
|
||||
Width = 269
|
||||
end
|
||||
object DADataSource: TDADataSource
|
||||
Left = 16
|
||||
Top = 48
|
||||
end
|
||||
end
|
||||
26
Source/GUIBase/uViewObservaciones.pas
Normal file
26
Source/GUIBase/uViewObservaciones.pas
Normal file
@ -0,0 +1,26 @@
|
||||
unit uViewObservaciones;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, DB, uDADataTable, cxMemo, cxDBEdit, cxControls,
|
||||
cxContainer, cxEdit, cxTextEdit, ExtCtrls, StdCtrls;
|
||||
|
||||
type
|
||||
TfrViewObservaciones = class(TfrViewBase)
|
||||
Label5: TLabel;
|
||||
Bevel1: TBevel;
|
||||
memObservaciones: TcxDBMemo;
|
||||
DADataSource: TDADataSource;
|
||||
private
|
||||
{ Private declarations }
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
end.
|
||||
10
Source/GUIBase/uViewPreview.dfm
Normal file
10
Source/GUIBase/uViewPreview.dfm
Normal file
@ -0,0 +1,10 @@
|
||||
inherited frViewPreview: TfrViewPreview
|
||||
object frxPreview: TfrxPreview
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 294
|
||||
Height = 214
|
||||
Align = alClient
|
||||
OutlineVisible = False
|
||||
end
|
||||
end
|
||||
43
Source/GUIBase/uViewPreview.pas
Normal file
43
Source/GUIBase/uViewPreview.pas
Normal file
@ -0,0 +1,43 @@
|
||||
unit uViewPreview;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, frxClass, frxPreview, JvComponent, JvFormAutoSize;
|
||||
|
||||
type
|
||||
IViewPreview = interface(IViewBase)
|
||||
['{F9A96948-4005-4E9B-8045-7B4874A05D19}']
|
||||
function GetPreview: TfrxPreview;
|
||||
property Preview : TfrxPreview read GetPreview;
|
||||
end;
|
||||
|
||||
TfrViewPreview = class(TfrViewBase, IViewPreview)
|
||||
frxPreview: TfrxPreview;
|
||||
private
|
||||
function GetPreview: TfrxPreview;
|
||||
public
|
||||
property Preview : TfrxPreview read GetPreview;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
{ TfrViewPreview }
|
||||
|
||||
function TfrViewPreview.GetPreview: TfrxPreview;
|
||||
begin
|
||||
Result := frxPreview;
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterClass(TfrViewPreview);
|
||||
|
||||
finalization
|
||||
UnRegisterClass(TfrViewPreview);
|
||||
|
||||
end.
|
||||
|
||||
|
||||
619
Source/GUIBase/uViewTotales.dfm
Normal file
619
Source/GUIBase/uViewTotales.dfm
Normal file
@ -0,0 +1,619 @@
|
||||
inherited frViewTotales: TfrViewTotales
|
||||
Width = 451
|
||||
Height = 350
|
||||
Align = alBottom
|
||||
ExplicitWidth = 451
|
||||
ExplicitHeight = 350
|
||||
object dxLayoutControl1: TdxLayoutControl
|
||||
AlignWithMargins = True
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 451
|
||||
Height = 217
|
||||
Margins.Left = 0
|
||||
Margins.Top = 0
|
||||
Margins.Right = 0
|
||||
Margins.Bottom = 0
|
||||
Align = alTop
|
||||
ParentBackground = True
|
||||
TabOrder = 0
|
||||
AutoContentSizes = [acsWidth, acsHeight]
|
||||
object Bevel1: TBevel
|
||||
Left = 104
|
||||
Top = 109
|
||||
Width = 73
|
||||
Height = 9
|
||||
Shape = bsBottomLine
|
||||
end
|
||||
object Bevel3: TBevel
|
||||
Left = 278
|
||||
Top = 28
|
||||
Width = 3
|
||||
Height = 122
|
||||
Shape = bsRightLine
|
||||
end
|
||||
object Bevel4: TBevel
|
||||
Left = 390
|
||||
Top = 109
|
||||
Width = 192
|
||||
Height = 9
|
||||
Shape = bsBottomLine
|
||||
end
|
||||
object ImporteDto: TcxDBCurrencyEdit
|
||||
Left = 175
|
||||
Top = 129
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'IMPORTE_DESCUENTO'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Enabled = False
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.ReadOnly = True
|
||||
Properties.UseLeftAlignmentOnEditing = False
|
||||
Properties.UseThousandSeparator = True
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -11
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = []
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clWindowText
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.TextColor = clWindowText
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 5
|
||||
Height = 21
|
||||
Width = 93
|
||||
end
|
||||
object ImporteIVA: TcxDBCurrencyEdit
|
||||
Left = 461
|
||||
Top = 55
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'IMPORTE_IVA'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Enabled = False
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.ReadOnly = True
|
||||
Properties.UseLeftAlignmentOnEditing = False
|
||||
Properties.UseThousandSeparator = True
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -11
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = []
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clWindowText
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.TextColor = clWindowText
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 9
|
||||
Height = 21
|
||||
Width = 137
|
||||
end
|
||||
object ImporteTotal: TcxDBCurrencyEdit
|
||||
Left = 391
|
||||
Top = 129
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'IMPORTE_TOTAL'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Enabled = False
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.ReadOnly = True
|
||||
Properties.UseLeftAlignmentOnEditing = False
|
||||
Properties.UseThousandSeparator = True
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -12
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = []
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clActiveCaption
|
||||
Style.TextStyle = [fsBold]
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.TextColor = clWindowText
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 12
|
||||
Height = 21
|
||||
Width = 137
|
||||
end
|
||||
object edtDescuento: TcxDBSpinEdit
|
||||
Left = 104
|
||||
Top = 129
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'DESCUENTO'
|
||||
DataBinding.DataSource = DADataSource
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
|
||||
Properties.ImmediatePost = True
|
||||
Properties.MaxValue = 100.000000000000000000
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -11
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = []
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clWindowText
|
||||
Style.ButtonStyle = bts3D
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 4
|
||||
Height = 21
|
||||
Width = 65
|
||||
end
|
||||
object edtIVA: TcxDBSpinEdit
|
||||
Left = 390
|
||||
Top = 55
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'IVA'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Enabled = False
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.AssignedValues.MinValue = True
|
||||
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
|
||||
Properties.ImmediatePost = True
|
||||
Properties.MaxValue = 100.000000000000000000
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -11
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = []
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clWindowText
|
||||
Style.ButtonStyle = bts3D
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.TextColor = clWindowText
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 8
|
||||
Height = 21
|
||||
Width = 65
|
||||
end
|
||||
object ImporteBase: TcxDBCurrencyEdit
|
||||
Left = 390
|
||||
Top = 28
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'BASE_IMPONIBLE'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Enabled = False
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.ReadOnly = True
|
||||
Properties.UseLeftAlignmentOnEditing = False
|
||||
Properties.UseThousandSeparator = True
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -11
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = [fsBold]
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clWindowText
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.TextColor = clWindowText
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 7
|
||||
Height = 21
|
||||
Width = 92
|
||||
end
|
||||
object edtRE: TcxDBSpinEdit
|
||||
Left = 390
|
||||
Top = 82
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'RE'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Enabled = False
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.AssignedValues.EditFormat = True
|
||||
Properties.DisplayFormat = ',0.00 %;-,0.00 %'
|
||||
Properties.ImmediatePost = True
|
||||
Properties.MaxValue = 100.000000000000000000
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -11
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = []
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clWindowText
|
||||
Style.ButtonStyle = bts3D
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.TextColor = clWindowText
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 10
|
||||
Height = 21
|
||||
Width = 65
|
||||
end
|
||||
object ImporteRE: TcxDBCurrencyEdit
|
||||
Left = 461
|
||||
Top = 82
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'IMPORTE_RE'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Enabled = False
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.ReadOnly = True
|
||||
Properties.UseLeftAlignmentOnEditing = False
|
||||
Properties.UseThousandSeparator = True
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -11
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = []
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clWindowText
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.TextColor = clWindowText
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 11
|
||||
Height = 21
|
||||
Width = 56
|
||||
end
|
||||
object eImporteNeto: TcxDBCurrencyEdit
|
||||
Left = 104
|
||||
Top = 28
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'IMPORTE_NETO'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Enabled = False
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.ReadOnly = True
|
||||
Properties.UseLeftAlignmentOnEditing = False
|
||||
Properties.UseThousandSeparator = True
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -11
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = [fsBold]
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clWindowText
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.TextColor = clWindowText
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 0
|
||||
Height = 21
|
||||
Width = 147
|
||||
end
|
||||
object ePorte: TcxDBCurrencyEdit
|
||||
Left = 104
|
||||
Top = 156
|
||||
AutoSize = False
|
||||
DataBinding.DataField = 'IMPORTE_PORTE'
|
||||
DataBinding.DataSource = DADataSource
|
||||
ParentFont = False
|
||||
Properties.Alignment.Horz = taRightJustify
|
||||
Properties.ReadOnly = False
|
||||
Properties.UseLeftAlignmentOnEditing = False
|
||||
Properties.UseThousandSeparator = True
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.Font.Charset = DEFAULT_CHARSET
|
||||
Style.Font.Color = clWindowText
|
||||
Style.Font.Height = -11
|
||||
Style.Font.Name = 'Tahoma'
|
||||
Style.Font.Style = []
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.TextColor = clWindowText
|
||||
Style.IsFontAssigned = True
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.TextColor = clWindowText
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 6
|
||||
Height = 21
|
||||
Width = 147
|
||||
end
|
||||
object eIVA: TcxDBLookupComboBox
|
||||
Left = 104
|
||||
Top = 55
|
||||
DataBinding.DataField = 'ID_TIPO_IVA'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Properties.GridMode = True
|
||||
Properties.ImmediatePost = True
|
||||
Properties.KeyFieldNames = 'ID'
|
||||
Properties.ListColumns = <
|
||||
item
|
||||
FieldName = 'REFERENCIA'
|
||||
end>
|
||||
Properties.ListOptions.GridLines = glNone
|
||||
Properties.ListOptions.ShowHeader = False
|
||||
Properties.ListSource = dsTiposIVA
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
Style.ButtonStyle = bts3D
|
||||
Style.PopupBorderStyle = epbsFrame3D
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 1
|
||||
Width = 81
|
||||
end
|
||||
object bTiposIVA: TButton
|
||||
Left = 130
|
||||
Top = 55
|
||||
Width = 132
|
||||
Height = 21
|
||||
Caption = 'Ver los tipos de IVA...'
|
||||
TabOrder = 2
|
||||
end
|
||||
object cbRecargoEquivalencia: TcxDBCheckBox
|
||||
Left = 104
|
||||
Top = 82
|
||||
Caption = 'Aplicar recargo de equivalencia'
|
||||
DataBinding.DataField = 'RECARGO_EQUIVALENCIA'
|
||||
DataBinding.DataSource = DADataSource
|
||||
Properties.ImmediatePost = True
|
||||
Properties.NullStyle = nssUnchecked
|
||||
Properties.ValueChecked = 1
|
||||
Properties.ValueUnchecked = 0
|
||||
Style.BorderColor = clWindowFrame
|
||||
Style.BorderStyle = ebs3D
|
||||
Style.HotTrack = False
|
||||
Style.LookAndFeel.Kind = lfStandard
|
||||
Style.LookAndFeel.NativeStyle = True
|
||||
StyleDisabled.LookAndFeel.Kind = lfStandard
|
||||
StyleDisabled.LookAndFeel.NativeStyle = True
|
||||
StyleFocused.LookAndFeel.Kind = lfStandard
|
||||
StyleFocused.LookAndFeel.NativeStyle = True
|
||||
StyleHot.LookAndFeel.Kind = lfStandard
|
||||
StyleHot.LookAndFeel.NativeStyle = True
|
||||
TabOrder = 3
|
||||
Width = 219
|
||||
end
|
||||
object dxLayoutControl1Group_Root: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Group1: TdxLayoutGroup
|
||||
Caption = 'Importes totales'
|
||||
LayoutDirection = ldHorizontal
|
||||
object dxLayoutControl1Group2: TdxLayoutGroup
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item8: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Importe neto:'
|
||||
Control = eImporteNeto
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Group6: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item11: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Tipo de IVA:'
|
||||
Control = eIVA
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Item15: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahRight
|
||||
ShowCaption = False
|
||||
Control = bTiposIVA
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControl1Item16: TdxLayoutItem
|
||||
Caption = ' '
|
||||
Control = cbRecargoEquivalencia
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Item10: TdxLayoutItem
|
||||
Caption = ' '
|
||||
Control = Bevel1
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Group7: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item4: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
Caption = 'Descuento (%):'
|
||||
Control = edtDescuento
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Item1: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Importe de dto:'
|
||||
ShowCaption = False
|
||||
Control = ImporteDto
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControl1Item9: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Porte:'
|
||||
Control = ePorte
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControl1Group5: TdxLayoutGroup
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item13: TdxLayoutItem
|
||||
AutoAligns = [aaHorizontal]
|
||||
AlignVert = avClient
|
||||
Caption = ' '
|
||||
Offsets.Left = 10
|
||||
Offsets.Right = 10
|
||||
ShowCaption = False
|
||||
Control = Bevel3
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Group3: TdxLayoutGroup
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item12: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Base imponible:'
|
||||
Control = ImporteBase
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Group9: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item5: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
Caption = 'IVA (%):'
|
||||
CaptionOptions.AlignHorz = taRightJustify
|
||||
Control = edtIVA
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Item2: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Importe de IVA:'
|
||||
ShowCaption = False
|
||||
Control = ImporteIVA
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControl1Group8: TdxLayoutGroup
|
||||
ShowCaption = False
|
||||
Hidden = True
|
||||
LayoutDirection = ldHorizontal
|
||||
ShowBorder = False
|
||||
object dxLayoutControl1Item6: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
Caption = 'RE. (%):'
|
||||
CaptionOptions.AlignHorz = taRightJustify
|
||||
Control = edtRE
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Item7: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Importe de RE:'
|
||||
ShowCaption = False
|
||||
Visible = False
|
||||
Control = ImporteRE
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
object dxLayoutControl1Item14: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = ' '
|
||||
Control = Bevel4
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
object dxLayoutControl1Item3: TdxLayoutItem
|
||||
AutoAligns = [aaVertical]
|
||||
AlignHorz = ahClient
|
||||
Caption = 'Importe total:'
|
||||
LookAndFeel = LookAndFeelIMPORTE_TOTAL
|
||||
Control = ImporteTotal
|
||||
ControlOptions.ShowBorder = False
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
object dxLayoutControl1Group4: TdxLayoutGroup
|
||||
end
|
||||
end
|
||||
object DADataSource: TDADataSource
|
||||
Left = 8
|
||||
Top = 8
|
||||
end
|
||||
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
|
||||
Left = 40
|
||||
Top = 8
|
||||
object LookAndFeelIMPORTE_TOTAL: TdxLayoutStandardLookAndFeel
|
||||
ItemOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET
|
||||
ItemOptions.CaptionOptions.Font.Color = clWindowText
|
||||
ItemOptions.CaptionOptions.Font.Height = -12
|
||||
ItemOptions.CaptionOptions.Font.Name = 'Tahoma'
|
||||
ItemOptions.CaptionOptions.Font.Style = [fsBold]
|
||||
ItemOptions.CaptionOptions.UseDefaultFont = False
|
||||
end
|
||||
end
|
||||
object dsTiposIVA: TDADataSource
|
||||
Left = 8
|
||||
Top = 40
|
||||
end
|
||||
end
|
||||
71
Source/GUIBase/uViewTotales.pas
Normal file
71
Source/GUIBase/uViewTotales.pas
Normal file
@ -0,0 +1,71 @@
|
||||
unit uViewTotales;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, uViewBase, ExtCtrls, StdCtrls, DB, uDADataTable, cxGraphics,
|
||||
cxTextEdit, cxMaskEdit, cxDropDownEdit, cxDBEdit, cxControls,
|
||||
cxContainer, cxEdit, cxLabel, cxDBLabel, cxCurrencyEdit, cxSpinEdit,
|
||||
ComCtrls, dxLayoutControl, dxLayoutLookAndFeels, cxLookupEdit, cxDBLookupEdit,
|
||||
cxDBLookupComboBox, cxCheckBox;
|
||||
|
||||
type
|
||||
TfrViewTotales = class(TfrViewBase)
|
||||
DADataSource: TDADataSource;
|
||||
ImporteBase: TcxDBCurrencyEdit;
|
||||
ImporteDto: TcxDBCurrencyEdit;
|
||||
ImporteIVA: TcxDBCurrencyEdit;
|
||||
ImporteTotal: TcxDBCurrencyEdit;
|
||||
edtDescuento: TcxDBSpinEdit;
|
||||
edtIVA: TcxDBSpinEdit;
|
||||
dxLayoutControl1Group_Root: TdxLayoutGroup;
|
||||
dxLayoutControl1: TdxLayoutControl;
|
||||
dxLayoutControl1Item1: TdxLayoutItem;
|
||||
dxLayoutControl1Item2: TdxLayoutItem;
|
||||
dxLayoutControl1Item3: TdxLayoutItem;
|
||||
dxLayoutControl1Item4: TdxLayoutItem;
|
||||
dxLayoutControl1Item5: TdxLayoutItem;
|
||||
dxLayoutControl1Item12: TdxLayoutItem;
|
||||
dxLayoutControl1Group1: TdxLayoutGroup;
|
||||
dxLayoutControl1Group4: TdxLayoutGroup;
|
||||
dxLayoutControl1Group5: TdxLayoutGroup;
|
||||
dxLayoutControl1Item6: TdxLayoutItem;
|
||||
edtRE: TcxDBSpinEdit;
|
||||
dxLayoutControl1Item7: TdxLayoutItem;
|
||||
ImporteRE: TcxDBCurrencyEdit;
|
||||
dxLayoutControl1Item8: TdxLayoutItem;
|
||||
eImporteNeto: TcxDBCurrencyEdit;
|
||||
dxLayoutControl1Item9: TdxLayoutItem;
|
||||
ePorte: TcxDBCurrencyEdit;
|
||||
dxLayoutControl1Group2: TdxLayoutGroup;
|
||||
Bevel1: TBevel;
|
||||
dxLayoutControl1Item10: TdxLayoutItem;
|
||||
dxLayoutControl1Group7: TdxLayoutGroup;
|
||||
Bevel3: TBevel;
|
||||
dxLayoutControl1Item13: TdxLayoutItem;
|
||||
dxLayoutControl1Group3: TdxLayoutGroup;
|
||||
dxLayoutControl1Item14: TdxLayoutItem;
|
||||
Bevel4: TBevel;
|
||||
dxLayoutControl1Group9: TdxLayoutGroup;
|
||||
dxLayoutControl1Group8: TdxLayoutGroup;
|
||||
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
|
||||
LookAndFeelIMPORTE_TOTAL: TdxLayoutStandardLookAndFeel;
|
||||
dxLayoutControl1Item11: TdxLayoutItem;
|
||||
eIVA: TcxDBLookupComboBox;
|
||||
dxLayoutControl1Item15: TdxLayoutItem;
|
||||
bTiposIVA: TButton;
|
||||
dxLayoutControl1Group6: TdxLayoutGroup;
|
||||
dsTiposIVA: TDADataSource;
|
||||
dxLayoutControl1Item16: TdxLayoutItem;
|
||||
cbRecargoEquivalencia: TcxDBCheckBox;
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
end.
|
||||
Loading…
Reference in New Issue
Block a user