{ wscommontrayicon.pas ***************************************************************************** * * * See the file COPYING.modifiedLGPL, included in this distribution, * * for details about the copyright. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * * ***************************************************************************** Authors: Felipe Monteiro de Carvalho and Andrew Haines Common code to all widgetsets. } unit WSCommonTrayIcon; {$ifdef FPC} {$mode delphi}{$H+} {$PACKRECORDS C} {$endif} interface uses Graphics, Classes, SysUtils, Controls, Menus; type { TCustomWidgetTrayIcon } TCustomWidgetTrayIcon = class(TObject) private protected vVisible: Boolean; public uID: Cardinal; Icon: TIcon; ShowIcon, ShowHint: Boolean; PopUpMenu: TPopUpMenu; Hint: string; OnPaint, OnClick, OnDblClick: TNotifyEvent; OnMouseDown, OnMouseUp: TMouseEvent; OnMouseMove: TMouseMoveEvent; constructor Create; virtual; destructor Destroy; override; procedure InternalUpdate; virtual; abstract; function Hide: Boolean; virtual; abstract; function Show: Boolean; virtual; abstract; published end; implementation { TCustomWidgetTrayIcon } {******************************************************************* * TCustomWidgetTrayIcon.Create () * * DESCRIPTION: Creates a object from the TWidgetTrayIcon class * * PARAMETERS: None * * RETURNS: A pointer to the newly created object * *******************************************************************} constructor TCustomWidgetTrayIcon.Create; begin inherited Create; Icon := TIcon.Create; uID := 3; end; {******************************************************************* * TCustomWidgetTrayIcon.Destroy () * * DESCRIPTION: Destroys a object derived from the TWidgetTrayIcon class * * PARAMETERS: None * * RETURNS: Nothing * *******************************************************************} destructor TCustomWidgetTrayIcon.Destroy; begin Hide; Icon.Free; inherited Destroy; end; end.