mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2026-01-06 12:41:01 +01:00
gtk: move CreateComponent code for TProgressBar to CreateHandle and FinishComponentCreate to SetCallbacks
git-svn-id: trunk@13470 -
This commit is contained in:
parent
20c2a16ecc
commit
3298b06f86
@ -4729,15 +4729,6 @@ begin
|
||||
csPreviewFileControl:
|
||||
P:=CreateSimpleClientAreaWidget(Sender,true);
|
||||
|
||||
csProgressBar:
|
||||
with (TCustomProgressBar (Sender)) do
|
||||
begin
|
||||
{ Create a GtkAdjustment object to hold the range of the progress bar }
|
||||
TempWidget := PGtkWidget( gtk_adjustment_new (Position, Min, Max, 0, 0, 0));
|
||||
{ Create the GtkProgressBar using the adjustment }
|
||||
P := gtk_progress_bar_new_with_adjustment (PGtkAdjustment (TempWidget));
|
||||
end;
|
||||
|
||||
csTrackBar:
|
||||
with (TCustomTrackBar (Sender)) do
|
||||
begin
|
||||
|
||||
@ -151,7 +151,9 @@ type
|
||||
TGtkWSProgressBar = class(TWSProgressBar)
|
||||
private
|
||||
protected
|
||||
class procedure SetCallbacks(const AWidget: PGtkWidget; const AWidgetInfo: PWidgetInfo); virtual;
|
||||
public
|
||||
class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override;
|
||||
class procedure ApplyChanges(const AProgressBar: TCustomProgressBar); override;
|
||||
class procedure SetPosition(const AProgressBar: TCustomProgressBar; const NewPosition: integer); override;
|
||||
end;
|
||||
@ -238,6 +240,34 @@ const
|
||||
|
||||
{ TGtkWSProgressBar }
|
||||
|
||||
class procedure TGtkWSProgressBar.SetCallbacks(const AWidget: PGtkWidget;
|
||||
const AWidgetInfo: PWidgetInfo);
|
||||
begin
|
||||
TGtkWSWinControl.SetCallbacks(PGtkObject(AWidget), TComponent(AWidgetInfo^.LCLObject));
|
||||
end;
|
||||
|
||||
class function TGtkWSProgressBar.CreateHandle(const AWinControl: TWinControl;
|
||||
const AParams: TCreateParams): TLCLIntfHandle;
|
||||
var
|
||||
Adjustment: PGtkAdjustment;
|
||||
Widget: PGtkWidget;
|
||||
WidgetInfo: PWidgetInfo;
|
||||
begin
|
||||
with TCustomProgressBar(AWinControl) do
|
||||
begin
|
||||
// Create a GtkAdjustment object to hold the range of the progress bar
|
||||
Adjustment := PGtkAdjustment(gtk_adjustment_new(Position, Min, Max, 0, 0, 0));
|
||||
// Create the GtkProgressBar using the adjustment
|
||||
Widget := gtk_progress_bar_new_with_adjustment(Adjustment);
|
||||
end;
|
||||
Result := TLCLIntfHandle(PtrUInt(Widget));
|
||||
{$IFDEF DebugLCLComponents}
|
||||
DebugGtkWidgets.MarkCreated(Widget, dbgsName(AWinControl));
|
||||
{$ENDIF}
|
||||
WidgetInfo := CreateWidgetInfo(Pointer(Result), AWinControl, AParams);
|
||||
SetCallbacks(Widget, WidgetInfo);
|
||||
end;
|
||||
|
||||
class procedure TGtkWSProgressBar.ApplyChanges(const AProgressBar: TCustomProgressBar);
|
||||
var
|
||||
wHandle: HWND;
|
||||
|
||||
@ -391,7 +391,7 @@ end;
|
||||
class function TGtkWSScrollBar.CreateHandle(const AWinControl: TWinControl;
|
||||
const AParams: TCreateParams): TLCLIntfHandle;
|
||||
var
|
||||
Adjustment: PgtkAdjustment;
|
||||
Adjustment: PGtkAdjustment;
|
||||
Widget: PGtkWidget;
|
||||
WidgetInfo: PWidgetInfo;
|
||||
begin
|
||||
|
||||
Loading…
Reference in New Issue
Block a user