Class TINICustomMultiSection (unit INISec)

Inherits from

TINICustomSection

Constructors


constructor Create(AOwner:TComponent);



Functions

function AddKey(const sKey:string):Boolean;


procedure AssignToSections(sMultiSection:TINICustomMultiSection);


procedure AssignToStrings(sList:TStrings);


procedure BeginWalk;


procedure ClearControls;


procedure DeleteKey(const sKey:string);


procedure DeleteKeyByIndex(Index:Integer);


destructor Destroy;


procedure DisableControls;


procedure EnableControls;


procedure EndWalk;


function FindKey(const sKey:string):Boolean;


procedure First;


procedure HideControls;


function KeyExists(const sKey:string):Boolean;


procedure Last;


procedure Next;


procedure Prev;


procedure ReadKeys;


procedure RefreshControls;


procedure Reset;


procedure ShowControls;


procedure WriteCurrentSection;


procedure WriteKeys;


procedure AssignSections(sList:TStrings);


procedure AssignStatic;


procedure CopySectionFromTo(fromS,toS:Integer);


procedure CopyThisSection(const CopyFrom:string;Index:Integer);


procedure DeleteKeys;


procedure DeleteThisSection(Index:Integer);


function DoCompressKey(const sKey:string):string;


procedure DoCopySection(const CopyFrom:string);


procedure DoDeleteSection;


procedure DoForThisSection(Index:Integer;SP:TSectionProcedure;Data:Pointer);


procedure DoReadHumanReadable(Stream:TStream;Level:Integer);


procedure DoReadSection;


procedure DoWriteHumanReadable(Stream:TStream;Level:Integer);


procedure DoWriteSection;


procedure ExpandWithStatic;


function GetRuntimeSectionName:string;


function InEditMode:Boolean;


procedure InsertSelected(const secName:string);


function InternalCreatePage(AOwner:TComponent;WParent:TWinControl;var NoCreated:Integer):TControl;


procedure ListChange;


procedure Loaded;


procedure NameChange;


procedure Notification(AComponent:TComponent;Operation:TOperation);


procedure OpenLocalGroupForEdit(const OpenGroup:string);


procedure ReadKeysAlways;


procedure ReadThisSection(Index:Integer);


procedure RefreshEnablers;


procedure RefreshList;


procedure ReReadSection;


procedure WriteKeysAlways;


procedure WriteThisSection(Index:Integer);


procedure ButtonClearClick;


procedure ButtonDeleteClick;


procedure ButtonSaveClick;


function CanDelete(Index:Integer):Boolean;


procedure ClearList;


procedure ComboKeyDown(Sender:TObject;var Key:Word;Shift:TShiftState);


procedure DeleteListItem(Index:Integer);


procedure DisableList;


procedure DoOnButtonClearClick(Sender:TObject);


procedure DoOnButtonDeleteClick(Sender:TObject);


procedure DoOnButtonSaveClick(Sender:TObject);


procedure DoOnListChange(Sender:TObject);


procedure DoOnNameChange(Sender:TObject);


procedure EditKeyDown(Sender:TObject;var Key:Word;Shift:TShiftState);


procedure EnableList;


function GetIndexOfKey(const sKey:string):Integer;


function GetKey:string;


function GetKeyByIndex(Index:Integer):string;


function GetKeyIndex:Integer;


function GetKeyObject:TObject;


function GetSectionByIndex(Index:Integer):string;


function GetSectionCount:Integer;


procedure HideList;


procedure MoveDown;


procedure MoveUp;


procedure NextItem;


procedure PrevItem;


procedure ReadOnlySelected;


procedure SaveSection(const sName:string);


procedure SectionsChanged(Sender:TObject);


procedure SenderMoveDown(Sender:TObject);


procedure SenderMoveUp(Sender:TObject);


procedure SenderNextItem(Sender:TObject);


procedure SenderPrevItem(Sender:TObject);


procedure SetKey(const sKey:string);


procedure SetKeyIndex(Index:Integer);


procedure SetPanelList(PL:TPanelList);


procedure SetSorted(bSorted:Boolean);


procedure SetStaticSections(sSections:TStringList);


procedure ShowList;


procedure SPCopy(Data:Pointer);


procedure SPDelete(Data:Pointer);


procedure SPRead(Data:Pointer);


procedure SPWrite(Data:Pointer);


procedure WriteOnlySelected;


Properties

property Buttons : TMultiSectionButtons


property CompressKey : TCompressKeyMode


property DropDownCount : LongInt


property EOL : Boolean


property IndexOfKey : Integer


property Key : string


property KeyByIndex : string


property KeyCount : Integer


property KeyIndex : Integer


property KeyObject : TObject


property NewAsCopy : Boolean


property Sorted : Boolean


property Static : Boolean


property StaticSections : TStringList


property List : TPanelList


property PanelMode : TPanelMode


property SectionByIndex : string


property SectionCount : Integer


property Sections : TStringList


property Selected : LongInt


Events

event OnAfterReadKeys : TNotifyEvent


event OnChange : TNotifyEvent


event OnButtonClick : TButtonClickEvent


Variables

FPanelMode : TPanelMode;


FAllowListChange : Boolean;


FButtons : TMultiSectionButtons;


FCompressKey : TCompressKeyMode;


FDropDownCount : LongInt;


FEOL : Boolean;


FIsDirty : Boolean;


FNewAsCopy : Boolean;


FOnAfterReadKeys : TNotifyEvent;


FOnButtonClick : TButtonClickEvent;


FOnChange : TNotifyEvent;


FPanelList : TPanelList;


FSaveIndex : Integer;


FSections : TStringList;


FSelected : LongInt;


FSorted : Boolean;


FStatic : Boolean;


FStaticSections : TStringList;


FUseMainSection : Boolean;


FWalking : Boolean;



Constructors


constructor Create(AOwner:TComponent);


Functions


function AddKey(const sKey:string):Boolean;


procedure AssignToSections(sMultiSection:TINICustomMultiSection);


procedure AssignToStrings(sList:TStrings);


procedure BeginWalk;


procedure ClearControls;


procedure DeleteKey(const sKey:string);


procedure DeleteKeyByIndex(Index:Integer);


destructor Destroy;


procedure DisableControls;


procedure EnableControls;


procedure EndWalk;


function FindKey(const sKey:string):Boolean;


procedure First;


procedure HideControls;


function KeyExists(const sKey:string):Boolean;


procedure Last;


procedure Next;


procedure Prev;


procedure ReadKeys;


procedure RefreshControls;


procedure Reset;


procedure ShowControls;


procedure WriteCurrentSection;


procedure WriteKeys;


procedure AssignSections(sList:TStrings);


procedure AssignStatic;


procedure CopySectionFromTo(fromS,toS:Integer);


procedure CopyThisSection(const CopyFrom:string;Index:Integer);


procedure DeleteKeys;


procedure DeleteThisSection(Index:Integer);


function DoCompressKey(const sKey:string):string;


procedure DoCopySection(const CopyFrom:string);


procedure DoDeleteSection;


procedure DoForThisSection(Index:Integer;SP:TSectionProcedure;Data:Pointer);


procedure DoReadHumanReadable(Stream:TStream;Level:Integer);


procedure DoReadSection;


procedure DoWriteHumanReadable(Stream:TStream;Level:Integer);


procedure DoWriteSection;


procedure ExpandWithStatic;


function GetRuntimeSectionName:string;


function InEditMode:Boolean;


procedure InsertSelected(const secName:string);


function InternalCreatePage(AOwner:TComponent;WParent:TWinControl;var NoCreated:Integer):TControl;


procedure ListChange;


procedure Loaded;


procedure NameChange;


procedure Notification(AComponent:TComponent;Operation:TOperation);


procedure OpenLocalGroupForEdit(const OpenGroup:string);


procedure ReadKeysAlways;


procedure ReadThisSection(Index:Integer);


procedure RefreshEnablers;


procedure RefreshList;


procedure ReReadSection;


procedure WriteKeysAlways;


procedure WriteThisSection(Index:Integer);


procedure ButtonClearClick;


procedure ButtonDeleteClick;


procedure ButtonSaveClick;


function CanDelete(Index:Integer):Boolean;


procedure ClearList;


procedure ComboKeyDown(Sender:TObject;var Key:Word;Shift:TShiftState);


procedure DeleteListItem(Index:Integer);


procedure DisableList;


procedure DoOnButtonClearClick(Sender:TObject);


procedure DoOnButtonDeleteClick(Sender:TObject);


procedure DoOnButtonSaveClick(Sender:TObject);


procedure DoOnListChange(Sender:TObject);


procedure DoOnNameChange(Sender:TObject);


procedure EditKeyDown(Sender:TObject;var Key:Word;Shift:TShiftState);


procedure EnableList;


function GetIndexOfKey(const sKey:string):Integer;


function GetKey:string;


function GetKeyByIndex(Index:Integer):string;


function GetKeyIndex:Integer;


function GetKeyObject:TObject;


function GetSectionByIndex(Index:Integer):string;


function GetSectionCount:Integer;


procedure HideList;


procedure MoveDown;


procedure MoveUp;


procedure NextItem;


procedure PrevItem;


procedure ReadOnlySelected;


procedure SaveSection(const sName:string);


procedure SectionsChanged(Sender:TObject);


procedure SenderMoveDown(Sender:TObject);


procedure SenderMoveUp(Sender:TObject);


procedure SenderNextItem(Sender:TObject);


procedure SenderPrevItem(Sender:TObject);


procedure SetKey(const sKey:string);


procedure SetKeyIndex(Index:Integer);


procedure SetPanelList(PL:TPanelList);


procedure SetSorted(bSorted:Boolean);


procedure SetStaticSections(sSections:TStringList);


procedure ShowList;


procedure SPCopy(Data:Pointer);


procedure SPDelete(Data:Pointer);


procedure SPRead(Data:Pointer);


procedure SPWrite(Data:Pointer);


procedure WriteOnlySelected;


Properties


property Buttons : TMultiSectionButtons


property CompressKey : TCompressKeyMode


property DropDownCount : LongInt


property EOL : Boolean


property IndexOfKey : Integer


property Key : string


property KeyByIndex : string


property KeyCount : Integer


property KeyIndex : Integer


property KeyObject : TObject


property NewAsCopy : Boolean


property Sorted : Boolean


property Static : Boolean


property StaticSections : TStringList


property List : TPanelList


property PanelMode : TPanelMode


property SectionByIndex : string


property SectionCount : Integer


property Sections : TStringList


property Selected : LongInt


Events


event OnAfterReadKeys : TNotifyEvent


event OnChange : TNotifyEvent


event OnButtonClick : TButtonClickEvent


Variables


FPanelMode : TPanelMode;


FAllowListChange : Boolean;


FButtons : TMultiSectionButtons;


FCompressKey : TCompressKeyMode;


FDropDownCount : LongInt;


FEOL : Boolean;


FIsDirty : Boolean;


FNewAsCopy : Boolean;


FOnAfterReadKeys : TNotifyEvent;


FOnButtonClick : TButtonClickEvent;


FOnChange : TNotifyEvent;


FPanelList : TPanelList;


FSaveIndex : Integer;


FSections : TStringList;


FSelected : LongInt;


FSorted : Boolean;


FStatic : Boolean;


FStaticSections : TStringList;


FUseMainSection : Boolean;


FWalking : Boolean;