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 object ImageList1: TImageList
Height = 32 Height = 32
Width = 32 Width = 32
left = 312 left = 560
top = 365 top = 368
Bitmap = { Bitmap = {
4C69090000002000000020000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF 4C69090000002000000020000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
@ -1943,10 +1943,14 @@ object MainForm: TMainForm
} }
end end
object MainMenu1: TMainMenu object MainMenu1: TMainMenu
left = 469 left = 560
top = 221 top = 296
object MenuItem1: TMenuItem object MenuItem1: TMenuItem
Caption = 'File' Caption = 'File'
object MnuEditPrintFormats: TMenuItem
Caption = 'Edit print formats...'
OnClick = MnuEditPrintFormatsClick
end
object MnuPrintPreview: TMenuItem object MnuPrintPreview: TMenuItem
Caption = 'Print preview...' Caption = 'Print preview...'
OnClick = MnuPrintPreviewClick OnClick = MnuPrintPreviewClick
@ -2002,4 +2006,17 @@ object MainForm: TMainForm
left = 560 left = 560
top = 192 top = 192
end 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 end

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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