{********************************************************************} { } { Developer Express Visual Component Library } { ExpressDataController } { } { Copyright (c) 1998-2009 Developer Express Inc. } { ALL RIGHTS RESERVED } { } { The entire contents of this file is protected by U.S. and } { International Copyright Laws. Unauthorized reproduction, } { reverse-engineering, and distribution of all or any portion of } { the code contained in this file is strictly prohibited and may } { result in severe civil and criminal penalties and will be } { prosecuted to the maximum extent possible under the law. } { } { RESTRICTIONS } { } { THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES } { (DCU, OBJ, DLL, ETC.) ARE CONFIDENTIAL AND PROPRIETARY TRADE } { SECRETS OF DEVELOPER EXPRESS INC. THE REGISTERED DEVELOPER IS } { LICENSED TO DISTRIBUTE THE EXPRESSDATACONTROLLER AND ALL } { ACCOMPANYING VCL CONTROLS AS PART OF AN EXECUTABLE PROGRAM ONLY. } { } { THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED } { FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE } { COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE } { AVAILABLE TO OTHER INDIVIDUALS WITHOUT EXPRESS WRITTEN CONSENT } { AND PERMISSION FROM DEVELOPER EXPRESS INC. } { } { CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON } { ADDITIONAL RESTRICTIONS. } { } {********************************************************************} unit cxSchedulerHolidaysLocationEditor; {$I cxVer.inc} interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, cxLookAndFeelPainters, StdCtrls, cxButtons, cxTextEdit, cxControls, cxContainer, cxEdit, cxLabel, cxSchedulerHolidays, cxLookAndFeels; type TfmHolidaysLocationEditor = class(TForm) btnOK: TcxButton; btnCancel: TcxButton; teName: TcxTextEdit; lbName: TcxLabel; procedure FormCreate(Sender: TObject); procedure teLocationPropertiesChange(Sender: TObject); procedure btnOKClick(Sender: TObject); private FLocation: TcxSchedulerHolidaysLocation; FModify: Boolean; procedure SetLocation(const AValue: TcxSchedulerHolidaysLocation); protected procedure CheckButtonsState; procedure InitControls; virtual; function Save: Boolean; virtual; procedure SetCaptions; public function ShowModal: Integer; override; property Location: TcxSchedulerHolidaysLocation read FLocation write SetLocation; property Modify: Boolean read FModify; end; implementation uses cxSchedulerStrs, cxClasses, cxSchedulerDialogs, cxSchedulerUtils; {$R *.dfm} function TfmHolidaysLocationEditor.ShowModal: Integer; begin cxDialogsMetricsStore.InitDialog(Self); InitControls; CheckButtonsState; Result := inherited ShowModal; cxDialogsMetricsStore.StoreMetrics(Self); end; procedure TfmHolidaysLocationEditor.CheckButtonsState; begin btnOK.Enabled := FModify and (Length(teName.Text) > 0) and (FLocation.Locations.GetLocationByName(teName.Text) = nil); end; procedure TfmHolidaysLocationEditor.FormCreate(Sender: TObject); begin FModify := False; end; procedure TfmHolidaysLocationEditor.InitControls; begin if UseSchedulerColorInDialogs then Color := btnCancel.LookAndFeel.Painter.DefaultSchedulerControlColor; SetCaptions; teName.Text := FLocation.Name; FModify := False; CheckButtonsState; end; function TfmHolidaysLocationEditor.Save: Boolean; begin Result := False; if not FModify then Exit; Result := True; FLocation.Name := teName.Text; FModify := False; CheckButtonsState; end; procedure TfmHolidaysLocationEditor.SetCaptions; begin Caption := cxGetResourceString(@scxHolidaysLocationEditorCaption); btnCancel.Caption := cxGetResourceString(@scxCancel); btnOk.Caption := cxGetResourceString(@scxOk); lbName.Caption := cxGetResourceString(@scxLocationName); end; procedure TfmHolidaysLocationEditor.SetLocation( const AValue: TcxSchedulerHolidaysLocation); begin FLocation := AValue; end; procedure TfmHolidaysLocationEditor.teLocationPropertiesChange( Sender: TObject); begin FModify := True; CheckButtonsState; end; procedure TfmHolidaysLocationEditor.btnOKClick(Sender: TObject); begin Save; end; end.