Menu

[r3166]: / trunk / Src / FrPrefsBase.pas  Maximize  Restore  History

Download this file

114 lines (94 with data), 3.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
{
* This Source Code Form is subject to the terms of the Mozilla Public License,
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
* obtain one at http://mozilla.org/MPL/2.0/
*
* Copyright (C) 2006-2012, Peter Johnson (www.delphidabbler.com).
*
* $Rev$
* $Date$
*
* Implements a frame that forms an abstract base class for all frames displayed
* in the Preferences dialogue box.
}
unit FrPrefsBase;
interface
uses
// Delphi
Forms,
// Project
UPreferences;
type
{
TPrefsFrameClass:
Class reference for preferences frames. All preferences frame must descend
from TPrefsBaseFrame.
}
TPrefsFrameClass = class of TPrefsBaseFrame;
{
TPrefsBaseFrame:
Frame that forms an abstract base class for all frames displayed in
preferences dialog box.
}
TPrefsBaseFrame = class(TFrame)
public
procedure SavePrefs(const Prefs: IPreferences); virtual;
{Saves information user entered in frame. By default the method simply
calls Deactivate. May be overridden to save any custom data that doesn't
use Prefs object.
@param Prefs [in] Object used to store information.
}
procedure LoadPrefs(const Prefs: IPreferences); virtual;
{Initialises controls. By default the method simply calls Activate. May be
overridden to load any custom data that doesn't use Prefs object.
@param Prefs [in] Object that provides info used to update controls.
}
procedure Activate(const Prefs: IPreferences); virtual; abstract;
{Called when page activated. Must update controls from preferences.
@param Prefs [in] Object that provides info used to update controls.
}
procedure Deactivate(const Prefs: IPreferences); virtual; abstract;
{Called when page is deactivated. Must store information entered by user.
@param Prefs [in] Object used to store information.
}
/// <summary>Checks if preference changes require that main window UI is
/// updated.</summary>
/// <remarks>Called when dialog box containing frame is closing.</remarks>
function UIUpdated: Boolean; virtual; abstract;
procedure ArrangeControls; virtual; abstract;
{Arranges controls on frame. Called after frame has been sized.
}
function DisplayName: string; virtual; abstract;
{Provides caption that is displayed in the tab sheet that contains this
frame when displayed in the preference dialog box.
@return Required display name.
}
class function Index: Byte; virtual; abstract;
{Provides an index number that determines the order in which the tabs
containing frames are displayed in the preferences dialog box. Gaps
between indexes should be left where possible to allow for insertion of
new entries at a later date.
@return Required index number.
}
end;
implementation
{$R *.dfm}
{ TPrefsBaseFrame }
procedure TPrefsBaseFrame.LoadPrefs(const Prefs: IPreferences);
{Initialises controls. By default the method simply calls Activate. May be
overridden to load any custom data that doesn't use Prefs object.
@param Prefs [in] Object that provides info used to update controls.
}
begin
Activate(Prefs);
end;
procedure TPrefsBaseFrame.SavePrefs(const Prefs: IPreferences);
{Saves information user entered in frame. By default the method simply calls
Deactivate. May be overridden to save any custom data that doesn't use Prefs
object.
@param Prefs [in] Object used to store information.
}
begin
Deactivate(Prefs);
end;
end.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.