lazarus/lcl/interfaces/gtk2/gtk2listslh.inc
mattias 7abd5e6276 LCL: gtk2: fixed uses section
git-svn-id: trunk@45601 -
2014-06-22 08:57:16 +00:00

75 lines
2.8 KiB
PHP

{%MainUnit gtk2int.pp}
{******************************************************************************
gtklistslh.inc
TGtkListStringList and TGtkCListStringList
******************************************************************************
*****************************************************************************
This file is part of the Lazarus Component Library (LCL)
See the file COPYING.modifiedLGPL.txt, included in this distribution,
for details about the license.
*****************************************************************************
}
type
{ TGtkListStringList }
TGtkListStringsState = (glsItemCacheNeedsUpdate,glsCountNeedsUpdate);
TGtkListStringsStates = set of TGtkListStringsState;
PPGtkListItem = ^PGtkListItem;
TGtkListStringList = class(TStrings)
private
FGtkList : PGtkList;
FOwner: TWinControl;
FSorted : boolean;
FStates: TGtkListStringsStates;
FCachedCount: integer;
FCachedCapacity: integer;
FCachedItems: PPGtkListItem;
FUpdateCount: integer;
FWithCheckBox: Boolean;
protected
function GetListItem(Index: integer): PGtkListItem;
function GetLabel(Index: integer): PGtkLabel;
function GetCount: integer; override;
function Get(Index : Integer) : string; override;
function GetObject(Index: Integer): TObject; override;
procedure Put(Index: Integer; const S: string); override;
procedure PutObject(Index: Integer; AnObject: TObject); override;
procedure SetSorted(Val : boolean); virtual;
procedure CheckForInvalidFocus;
procedure ConnectItemCallbacks(Index: integer);
procedure ConnectItemCallbacks(Li: PGtkListItem); virtual;
procedure ConnectAllCallbacks; virtual;
procedure RemoveItemCallbacks(Index: integer);
procedure RemoveItemCallbacks(AItem: PGtkListItem); virtual;
procedure RemoveAllCallbacks; virtual;
procedure UpdateItemCache;
function CacheValid: boolean;
public
constructor Create(List : PGtkList; TheOwner: TWinControl;
const AWithCheckBox: Boolean);
destructor Destroy; override;
function Add(const S: string): Integer; override;
procedure Assign(Source : TPersistent); override;
procedure Clear; override;
procedure Delete(Index : integer); override;
function IndexOf(const S: string): Integer; override;
procedure Insert(Index : integer; const S: string); override;
function GetInsertPosition(const S: string): integer;
procedure Move(FromIndex, ToIndex: Integer); override;
procedure Sort; virtual;
function IsEqual(List: TStrings; CompareObjects: boolean): boolean;
procedure BeginUpdate;
procedure EndUpdate;
procedure ConsistencyCheck;
public
property Sorted: boolean read FSorted write SetSorted;
property Owner: TWinControl read FOwner;
end;