tvplanit: Cosmetic changes in VpEdFmtLst. Beginning to fix print format designer.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4926 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-07-06 18:56:23 +00:00
parent 4701336ffd
commit 18536b3f45
8 changed files with 162 additions and 133 deletions

View File

@ -784,8 +784,8 @@ object MainForm: TMainForm
object ImageList1: TImageList
Height = 32
Width = 32
left = 312
top = 365
left = 560
top = 368
Bitmap = {
4C69090000002000000020000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
@ -1943,10 +1943,14 @@ object MainForm: TMainForm
}
end
object MainMenu1: TMainMenu
left = 469
top = 221
left = 560
top = 296
object MenuItem1: TMenuItem
Caption = 'File'
object MnuEditPrintFormats: TMenuItem
Caption = 'Edit print formats...'
OnClick = MnuEditPrintFormatsClick
end
object MnuPrintPreview: TMenuItem
Caption = 'Print preview...'
OnClick = MnuPrintPreviewClick
@ -2002,4 +2006,17 @@ object MainForm: TMainForm
left = 560
top = 192
end
object VpPrintFormatEditDialog1: TVpPrintFormatEditDialog
Version = 'v1.04'
DataStore = VpBufDSDataStore1
ControlLink = VpControlLink1
Options = []
Placement.Position = mpCenter
Placement.Top = 10
Placement.Left = 10
Placement.Height = 480
Placement.Width = 640
left = 712
top = 192
end
end

View File

@ -23,6 +23,7 @@ TMAINFORM.COMBOBOX1.TEXT=ComboBox1
TMAINFORM.CBDRAWINGSTYLE.TEXT=flat
TMAINFORM.TITLELBL.CAPTION=TitleLbl
TMAINFORM.MENUITEM1.CAPTION=File
TMAINFORM.MNUEDITPRINTFORMATS.CAPTION=Edit print formats...
TMAINFORM.MNUPRINTPREVIEW.CAPTION=Print preview...
TMAINFORM.MENUITEM3.CAPTION=-
TMAINFORM.MNUQUIT.CAPTION=Quit

View File

@ -8,7 +8,7 @@ uses
Classes, SysUtils, FileUtil, PrintersDlgs, Forms, Controls, Graphics, Dialogs,
ExtCtrls, StdCtrls, ComCtrls, LCLTranslator, Menus, VpBaseDS, VpDayView,
VpWeekView, VpTaskList, VpAbout, VpContactGrid, VpMonthView, VpResEditDlg,
VpContactButtons, VpBufDS, VpNavBar, VpData, VpPrtPrvDlg, Types;
VpContactButtons, VpBufDS, VpNavBar, VpData, VpPrtPrvDlg, VpPrtFmtDlg, Types;
type
@ -36,6 +36,7 @@ type
LblLanguage: TLabel;
LblVisibleDays: TLabel;
MenuItem3: TMenuItem;
MnuEditPrintFormats: TMenuItem;
MnuPrintPreview: TMenuItem;
PrintDialog1: TPrintDialog;
TitleLbl: TLabel;
@ -70,6 +71,7 @@ type
VpDayView1: TVpDayView;
VpMonthView1: TVpMonthView;
VpNavBar1: TVpNavBar;
VpPrintFormatEditDialog1: TVpPrintFormatEditDialog;
VpPrintPreviewDialog1: TVpPrintPreviewDialog;
VpResourceCombo1: TVpResourceCombo;
VpResourceEditDialog1: TVpResourceEditDialog;
@ -90,6 +92,7 @@ type
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
procedure FormCreate(Sender: TObject);
procedure MnuAboutClick(Sender: TObject);
procedure MnuEditPrintFormatsClick(Sender: TObject);
procedure MnuPrintPreviewClick(Sender: TObject);
procedure MnuQuitClick(Sender: TObject);
procedure MnuResourcesClick(Sender: TObject);
@ -354,6 +357,11 @@ begin
end;
end;
procedure TMainForm.MnuEditPrintFormatsClick(Sender: TObject);
begin
VpPrintFormatEditDialog1.Execute;
end;
procedure TMainForm.MnuPrintPreviewClick(Sender: TObject);
var
t1, t2: TDateTime;

View File

@ -264,6 +264,10 @@ msgstr ""
msgid "About Visual PlanIt"
msgstr "Über Visual PlanIt"
#: tmainform.mnueditprintformats.caption
msgid "Edit print formats..."
msgstr ""
#: tmainform.mnumaintenance.caption
msgctxt "tmainform.mnumaintenance.caption"
msgid "Maintenance"

View File

@ -253,6 +253,10 @@ msgstr ""
msgid "About Visual PlanIt"
msgstr ""
#: tmainform.mnueditprintformats.caption
msgid "Edit print formats..."
msgstr ""
#: tmainform.mnumaintenance.caption
msgctxt "TMAINFORM.MNUMAINTENANCE.CAPTION"
msgid "Maintenance"

View File

@ -201,7 +201,7 @@ object frmPrnFormat: TfrmPrnFormat
ClientWidth = 640
TabOrder = 9
object btnLoadFile: TButton
Left = 92
Left = 88
Height = 25
Top = 8
Width = 75
@ -210,7 +210,7 @@ object frmPrnFormat: TfrmPrnFormat
TabOrder = 1
end
object btnSaveFile: TButton
Left = 172
Left = 168
Height = 25
Top = 8
Width = 75
@ -219,7 +219,7 @@ object frmPrnFormat: TfrmPrnFormat
TabOrder = 2
end
object btnNewFile: TButton
Left = 12
Left = 8
Height = 25
Top = 8
Width = 75
@ -228,7 +228,7 @@ object frmPrnFormat: TfrmPrnFormat
TabOrder = 0
end
object btnOk: TButton
Left = 552
Left = 556
Height = 25
Top = 8
Width = 75

View File

@ -95,41 +95,39 @@ type
procedure lbElementsDragDrop(Sender, Source: TObject; X, Y: Integer);
procedure lbElementsDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
private
FFormatFileName : string;
FControlLink : TVpControlLink;
IsDirty : Boolean;
FFormatFileName: string;
FControlLink: TVpControlLink;
IsDirty: Boolean;
LastX, LastY: Integer;
DragItem : Integer;
DragItem: Integer;
protected
function DirtyPrompt: Integer;
procedure DoEditElement;
procedure DoEditFormat;
procedure DoNewElement;
procedure DoNewFile;
function DoNewFormat : Integer;
function DoNewFormat: Integer;
procedure DoSave;
procedure EnableElementButtons(Enable: Boolean);
procedure EnableFormatButtons(Enable: Boolean);
procedure EnableMoveButtons;
procedure SetFormatFileName (const v : string);
procedure EnableMoveButtons;
procedure SetFormatFileName(const v: string);
procedure UpdateFormats;
procedure UpdateCaption;
procedure UpdatePreview;
function GetControlLink: TVpControlLink;
procedure SetControlLink(const Value: TVpControlLink);
{ Private declarations }
public
property ControlLink : TVpControlLink
read FControlLink write SetControlLink;
function Execute : Boolean;
{ Public declarations }
property ControlLink : TVpControlLink read FControlLink write SetControlLink;
published
property FormatFileName : string
read FFormatFileName write SetFormatFileName;
property FormatFileName : string read FFormatFileName write SetFormatFileName;
end;
var
@ -140,8 +138,10 @@ implementation
uses
VpEdFmt, VpEdElem;
{$IFNDEF LCL}
{$R *.DFM}
{$IFDEF DELPHI}
{$R *.dfm}
{$ELSE}
{$R *.lfm}
{$ENDIF}
{TfrmPrnFormat}
@ -152,17 +152,14 @@ begin
IsDirty := False;
FormatFileName := UnnamedFile;
EnableFormatButtons(False);
EnableElementButtons(False);
end;
{=====}
procedure TfrmPrnFormat.EnableMoveButtons;
begin
btnMoveElementUp.Enabled := lbElements.ItemIndex > 0;
btnMoveElementDn.Enabled :=
lbElements.ItemIndex < lbElements.Items.Count - 1;
procedure TfrmPrnFormat.EnableMoveButtons;
begin
btnMoveElementUp.Enabled := lbElements.ItemIndex > 0;
btnMoveElementDn.Enabled := lbElements.ItemIndex < lbElements.Items.Count - 1;
end;
{=====}
procedure TfrmPrnFormat.FormShow(Sender: TObject);
@ -182,9 +179,9 @@ end;
{=====}
procedure TfrmPrnFormat.btnDeleteElementClick(Sender: TObject);
var
Format : TVpPrintFormatItem;
Idx : Integer;
Item : string;
Format: TVpPrintFormatItem;
Idx: Integer;
Item: string;
begin
Format := TVpPrintFormatItem(lbFormats.Items.Objects[lbFormats.ItemIndex]);
Item := '';
@ -205,14 +202,13 @@ end;
{=====}
procedure TfrmPrnFormat.btnDeleteFormatClick(Sender: TObject);
var
Prn : TVpPrinter;
Idx : Integer;
Prn: TVpPrinter;
Idx: Integer;
begin
Prn := ControlLink.Printer;
Idx := Prn.Find(lbFormats.Items[lbFormats.ItemIndex]);
if (Idx < 0) or (Idx >= Prn.PrintFormats.Count) then
ShowMessage ('Invalid print format: ' +
lbFormats.Items[lbFormats.ItemIndex]);
if (Idx < 0) or (Idx >= Prn.PrintFormats.Count) then
ShowMessage ('Invalid print format: ' + lbFormats.Items[lbFormats.ItemIndex]);
Prn.PrintFormats.Items[Idx].Free;
lbFormats.Items.Delete(lbFormats.ItemIndex);
IsDirty := True;
@ -231,8 +227,8 @@ end;
{=====}
procedure TfrmPrnFormat.btnLoadFileClick(Sender: TObject);
var
Prn : TVpPrinter;
Rslt : Integer;
Prn: TVpPrinter;
Rslt: Integer;
begin
if IsDirty then begin
Rslt := DirtyPrompt;
@ -262,7 +258,7 @@ end;
{=====}
procedure TfrmPrnFormat.btnMoveElementDnClick(Sender: TObject);
var
E : TVpPrintFormatElementItem;
E: TVpPrintFormatElementItem;
begin
if lbElements.ItemIndex > -1 then begin
E := TVpPrintFormatElementItem(lbElements.Items.Objects[lbElements.ItemIndex]);
@ -277,7 +273,7 @@ var
begin
if lbElements.ItemIndex > -1 then begin
E := TVpPrintFormatElementItem(lbElements.Items.Objects[lbElements.ItemIndex]);
E.Index := E.Index - 1;
E.Index := E.Index - 1;
lbElements.Items.Move(lbElements.ItemIndex, lbElements.ItemIndex - 1);
end;
end;
@ -288,27 +284,26 @@ begin
end;
{=====}
procedure TfrmPrnFormat.btnNewFormatClick(Sender: TObject);
var
NewFormatIdx : Integer;
i : Integer;
var
NewFormatIdx: Integer;
i: Integer;
begin
NewFormatIdx := DoNewFormat;
if (NewFormatIdx > 0) and
(Assigned (ControlLink)) and
(NewFormatIdx < ControlLink.Printer.PrintFormats.Count) then
for i := 0 to lbFormats.Items.Count - 1 do
if lbFormats.Items[i] = ControlLink.Printer.PrintFormats.
Items[NewFormatIdx].FormatName then begin
lbFormats.ItemIndex := i;
lbFormatsClick (Self);
Break;
end;
NewFormatIdx := DoNewFormat;
if (NewFormatIdx > 0) and (Assigned (ControlLink)) and
(NewFormatIdx < ControlLink.Printer.PrintFormats.Count)
then
for i := 0 to lbFormats.Items.Count - 1 do
if lbFormats.Items[i] = ControlLink.Printer.PrintFormats.Items[NewFormatIdx].FormatName then
begin
lbFormats.ItemIndex := i;
lbFormatsClick(Self);
Break;
end;
end;
{=====}
procedure TfrmPrnFormat.btnNewFileClick(Sender: TObject);
var
Rslt : Integer;
Rslt: Integer;
begin
if IsDirty then begin
Rslt := DirtyPrompt;
@ -340,17 +335,18 @@ begin
DoSave;
end;
{=====}
function TfrmPrnFormat.DirtyPrompt : Integer;
function TfrmPrnFormat.DirtyPrompt: Integer;
begin
Result := Application.MessageBox(
PChar('Save changes to ' + FormatFileName + '?'),
PChar('Inquiry'),
MB_YESNOCANCEL or MB_ICONQUESTION);
PChar('Save changes to ' + FormatFileName + '?'),
PChar('Inquiry'),
MB_YESNOCANCEL or MB_ICONQUESTION
);
end;
{=====}
procedure TfrmPrnFormat.DoEditElement;
var
E : TVpPrintFormatElementItem;
E: TVpPrintFormatElementItem;
frmEditElement: TfrmEditElement;
begin
if lbElements.ItemIndex > -1 then begin
@ -372,7 +368,7 @@ end;
{=====}
procedure TfrmPrnFormat.DoEditFormat;
var
AFormat : TVpPrintFormatItem;
AFormat: TVpPrintFormatItem;
frmEditFormat: TfrmEditFormat;
begin
if lbFormats.ItemIndex > -1 then begin
@ -392,9 +388,9 @@ end;
{=====}
procedure TfrmPrnFormat.DoNewElement;
var
Format : TVpPrintFormatItem;
E : TVpPrintFormatElementItem;
Unique, Cancelled : Boolean;
Format: TVpPrintFormatItem;
E: TVpPrintFormatElementItem;
Unique, Cancelled: Boolean;
frmEditElement: TfrmEditElement;
begin
Format := TVpPrintFormatItem(lbFormats.Items.Objects[lbFormats.ItemIndex]);
@ -435,7 +431,7 @@ end;
{=====}
procedure TfrmPrnFormat.DoNewFile;
var
Prn : TVpPrinter;
Prn: TVpPrinter;
begin
Prn := ControlLink.Printer;
Prn.PrintFormats.Clear;
@ -449,14 +445,14 @@ begin
EnableElementButtons(False);
end;
{=====}
function TfrmPrnFormat.DoNewFormat : Integer;
function TfrmPrnFormat.DoNewFormat: Integer;
var
AFormat : TVpPrintFormatItem;
Prn : TVpPrinter;
Unique, Cancelled : Boolean;
AFormat: TVpPrintFormatItem;
Prn: TVpPrinter;
Unique, Cancelled: Boolean;
frmEditFormat: TfrmEditFormat;
begin
Result := -1;
Result := -1;
Application.CreateForm(TfrmEditFormat, frmEditFormat);
Prn := ControlLink.Printer;
@ -487,8 +483,8 @@ begin
{ until format name is Unique or operation Cancelled }
until Unique or Cancelled;
if not Cancelled then
Result := AFormat.Index;
if not Cancelled then
Result := AFormat.Index;
frmEditFormat.Free;
end;
@ -507,27 +503,27 @@ begin
end;
end;
{=====}
procedure TfrmPrnFormat.EnableElementButtons(Enable : Boolean);
procedure TfrmPrnFormat.EnableElementButtons(Enable: Boolean);
begin
btnNewElement.Enabled := Enable;
btnEditElement.Enabled := Enable;
btnDeleteElement.Enabled := Enable;
// btnMoveElementUp.Enabled := Enable;
// btnMoveElementDn.Enabled := Enable;
EnableMoveButtons;
// btnMoveElementDn.Enabled := Enable;
EnableMoveButtons;
end;
{=====}
procedure TfrmPrnFormat.EnableFormatButtons(Enable : Boolean);
procedure TfrmPrnFormat.EnableFormatButtons(Enable: Boolean);
begin
btnNewFormat.Enabled := Enable;
btnEditFormat.Enabled := Enable;
btnDeleteFormat.Enabled := Enable;
end;
{=====}
function TfrmPrnFormat.Execute : Boolean;
function TfrmPrnFormat.Execute: Boolean;
begin
if not Assigned (ControlLink) then
raise EVpPrintFormatEditorError.Create (RSNoControlLink);
raise EVpPrintFormatEditorError.Create(RSNoControlLink);
Result := ShowModal = mrOk;
end;
@ -535,7 +531,7 @@ end;
procedure TfrmPrnFormat.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
var
Rslt : Integer;
Rslt: Integer;
begin
if IsDirty then begin
Rslt := DirtyPrompt;
@ -567,9 +563,9 @@ end;
{=====}
procedure TfrmPrnFormat.lbFormatsClick(Sender: TObject);
var
E : TVpPrintFormatElementItem;
Prn : TVpPrinter;
i, Idx : Integer;
E: TVpPrintFormatElementItem;
Prn: TVpPrinter;
i, Idx: Integer;
begin
lbElements.Items.Clear;
Prn := ControlLink.Printer;
@ -578,6 +574,7 @@ begin
Prn.CurFormat := Idx;
PrintPreview.ControlLink := ControlLink;
PrintPreview.Invalidate;
for i := 0 to Pred(Prn.PrintFormats.Items[Idx].Elements.Count) do begin
E := Prn.PrintFormats.Items[Idx].Elements.Items[i];
@ -600,57 +597,56 @@ end;
procedure TfrmPrnFormat.lbElementsMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
LastX:=X;
LastY:=Y;
DragItem := (Sender as TListBox).ItemAtPos(Point(LastX, LastY),True);
LastX := X;
LastY := Y;
DragItem := (Sender as TListBox).ItemAtPos(Point(LastX, LastY), True);
end;
{=====}
procedure TfrmPrnFormat.lbElementsDragDrop(Sender, Source: TObject; X,
Y: Integer);
procedure TfrmPrnFormat.lbElementsDragDrop(Sender, Source: TObject; X, Y: Integer);
var
lb : TListBox;
lb: TListBox;
Dest: Integer;
E : TVpPrintFormatElementItem;
E: TVpPrintFormatElementItem;
begin
lb := Source as TListBox;
Dest:=lb.ItemAtPos(Point(X, Y),True);
Dest := lb.ItemAtPos(Point(X, Y), True);
lb.Items.Move(DragItem, Dest);
E := TVpPrintFormatElementItem(lbElements.Items.Objects[Dest]);
E.Index := Dest;
lb.ItemIndex := Dest;
EnableMoveButtons;
EnableMoveButtons;
end;
{=====}
procedure TfrmPrnFormat.lbElementsDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
procedure TfrmPrnFormat.lbElementsDragOver(Sender, Source: TObject; X,Y: Integer;
State: TDragState; var Accept: Boolean);
var
lb : TListBox;
lb: TListBox;
begin
lb := (Source as TListBox);
lb.Canvas.DrawFocusRect(lb.ItemRect(lb.ItemAtPos(Point(LastX, LastY), True)));
lb.Canvas.DrawFocusRect(lb.ItemRect(lb.ItemAtPos(Point(X, Y), True)));
LastX := X;
LastY := Y;
Accept:=True;
Accept := True;
end;
{=====}
procedure TfrmPrnFormat.SetControlLink(const Value: TVpControlLink);
begin
if FControlLink <> Value then begin
if FControlLink <> Value then begin
FControlLink := Value;
if Assigned (FControlLink) then
FFormatFileName := FControlLink.Printer.DefaultXMLFileName;
end;
if Assigned (FControlLink) then
FFormatFileName := FControlLink.Printer.DefaultXMLFileName;
end;
end;
{=====}
procedure TfrmPrnFormat.SetFormatFileName (const v : string);
begin
if v <> FFormatFileName then begin
FFormatFileName := v;
if Assigned (FControlLink) then
FControlLink.Printer.DefaultXMLFileName := v;
end;
end;
procedure TfrmPrnFormat.SetFormatFileName(const v: string);
begin
if v <> FFormatFileName then begin
FFormatFileName := v;
if Assigned(FControlLink) then
FControlLink.Printer.DefaultXMLFileName := v;
end;
end;
{=====}
procedure TfrmPrnFormat.UpdateCaption;
begin
@ -659,30 +655,29 @@ end;
{=====}
procedure TfrmPrnFormat.UpdateFormats;
var
i : Integer;
Prn : TVpPrinter;
i: Integer;
Prn: TVpPrinter;
begin
Prn := ControlLink.Printer;
for i := 0 to Pred(Prn.PrintFormats.Count) do
lbFormats.Items.AddObject(Prn.PrintFormats.Items[i].FormatName, Prn.PrintFormats.Items[i]);
EnableMoveButtons;
EnableMoveButtons;
end;
{=====}
procedure TfrmPrnFormat.UpdatePreview;
var
Prn : TVpPrinter;
Idx : Integer;
Prn: TVpPrinter;
Idx: Integer;
begin
Prn := ControlLink.Printer;
if lbFormats.ItemIndex > -1 then begin
Idx := Prn.Find (lbFormats.Items[lbFormats.ItemIndex]);
if Idx > - 1 then
Prn.CurFormat := Idx;
{Prn.CurFormat := lbFormats.ItemIndex; }
end;
if lbFormats.ItemIndex > -1 then begin
Idx := Prn.Find(lbFormats.Items[lbFormats.ItemIndex]);
if Idx > - 1 then
Prn.CurFormat := Idx;
{Prn.CurFormat := lbFormats.ItemIndex; }
end;
Prn.NotifyLinked;
EnableMoveButtons;
EnableMoveButtons;
end;
{=====}

View File

@ -77,30 +77,30 @@ implementation
constructor TVpPrintFormatEditDialog.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FControlLink := SearchControlLink (Owner);
FControlLink := SearchControlLink (Owner);
FPlacement.Height := 480;
FPlacement.Width := 640;
FPlacement.Width := 640;
end;
function TVpPrintFormatEditDialog.Execute: Boolean;
var
PrtFmtDlg : TfrmPrnFormat;
begin
Application.CreateForm (TfrmPrnFormat, PrtFmtDlg);
PrtFmtDlg := TfrmPrnFormat.Create(Application);
// Application.CreateForm(TfrmPrnFormat, PrtFmtDlg);
try
DoFormPlacement(PrtFmtDlg);
PrtFmtDlg.WindowState := WindowState;
PrtFmtDlg.ControlLink := ControlLink;
Result := PrtFmtDlg.Execute;
finally
PrtFmtDlg.Release;
PrtFmtDlg.Free;
end;
end;
procedure TVpPrintFormatEditDialog.Notification (AComponent : TComponent;
Operation : TOperation);
procedure TVpPrintFormatEditDialog.Notification(AComponent: TComponent;
Operation: TOperation);
{-Handle new/deleted components}
begin
inherited Notification (AComponent, Operation);