From 924f6583c7809cc1e7eeef040e6d5ec1078baa1b Mon Sep 17 00:00:00 2001 From: micha Date: Thu, 23 Sep 2004 20:36:30 +0000 Subject: [PATCH] convert LM_SETPROPERTIES message to interface method for TScrollBar git-svn-id: trunk@6056 - --- lcl/interfaces/gtk/gtkobject.inc | 14 +++----------- lcl/interfaces/gtk/gtkwsstdctrls.pp | 21 ++++++++++++++++++++- lcl/interfaces/win32/win32object.inc | 17 +++-------------- lcl/interfaces/win32/win32wsstdctrls.pp | 23 +++++++++++++++++++++-- lcl/widgetset/wsstdctrls.pp | 7 +++++++ 5 files changed, 54 insertions(+), 28 deletions(-) diff --git a/lcl/interfaces/gtk/gtkobject.inc b/lcl/interfaces/gtk/gtkobject.inc index 7ef1714289..2d8c9032c5 100644 --- a/lcl/interfaces/gtk/gtkobject.inc +++ b/lcl/interfaces/gtk/gtkobject.inc @@ -6258,17 +6258,6 @@ begin Widget:= GTK_WIDGET(wHandle); case TControl(Sender).fCompStyle of - csScrollBar: - with (TScrollBar (Sender)) do - begin - //set properties for the range - Widget := GTK_WIDGET(gtk_range_get_adjustment (GTK_RANGE(wHandle))); - GTK_ADJUSTMENT(Widget)^.lower := Min; - GTK_ADJUSTMENT(Widget)^.Upper := Max; - GTK_ADJUSTMENT(Widget)^.Value := Position; - GTK_ADJUSTMENT(Widget)^.step_increment := SmallChange; - GTK_ADJUSTMENT(Widget)^.page_increment := LargeChange; - end; csTrackbar : with (TCustomTrackBar (Sender)) do @@ -7461,6 +7450,9 @@ end; { ============================================================================= $Log$ + Revision 1.595 2004/09/23 20:36:30 micha + convert LM_SETPROPERTIES message to interface method for TScrollBar + Revision 1.594 2004/09/23 14:50:47 micha convert LM_SETPROPERTIES message to interface method for TProgressBar diff --git a/lcl/interfaces/gtk/gtkwsstdctrls.pp b/lcl/interfaces/gtk/gtkwsstdctrls.pp index afe98b44b4..8b326928b3 100644 --- a/lcl/interfaces/gtk/gtkwsstdctrls.pp +++ b/lcl/interfaces/gtk/gtkwsstdctrls.pp @@ -45,6 +45,7 @@ type private protected public + class procedure SetParams(const AScrollBar: TScrollBar); override; end; { TGtkWSCustomGroupBox } @@ -280,6 +281,24 @@ begin end; end; +{ TGtkWSScrollBar } + +procedure TGtkWSScrollBar.SetParams(const AScrollBar: TScrollBar); +var + Widget : PGtkWidget; +begin + with AScrollBar do + begin + //set properties for the range + Widget := GTK_WIDGET(gtk_range_get_adjustment (GTK_RANGE(Handle))); + GTK_ADJUSTMENT(Widget)^.lower := Min; + GTK_ADJUSTMENT(Widget)^.Upper := Max; + GTK_ADJUSTMENT(Widget)^.Value := Position; + GTK_ADJUSTMENT(Widget)^.step_increment := SmallChange; + GTK_ADJUSTMENT(Widget)^.page_increment := LargeChange; + end; +end; + { TGtkWSCustomListBox } function TGtkWSCustomListBox.GetItemIndex(const ACustomListBox: TCustomListBox): integer; @@ -869,7 +888,7 @@ initialization // To improve speed, register only classes // which actually implement something //////////////////////////////////////////////////// -// RegisterWSComponent(TScrollBar, TGtkWSScrollBar); + RegisterWSComponent(TScrollBar, TGtkWSScrollBar); // RegisterWSComponent(TCustomGroupBox, TGtkWSCustomGroupBox); // RegisterWSComponent(TGroupBox, TGtkWSGroupBox); RegisterWSComponent(TCustomComboBox, TGtkWSCustomComboBox); diff --git a/lcl/interfaces/win32/win32object.inc b/lcl/interfaces/win32/win32object.inc index 495f368b0c..916cdc9163 100644 --- a/lcl/interfaces/win32/win32object.inc +++ b/lcl/interfaces/win32/win32object.inc @@ -1700,20 +1700,6 @@ begin Case TControl(Sender).FCompStyle Of - csScrollBar: - With (TScrollBar(Sender)) Do - Begin - SendMessage(Handle, SBM_SETRANGE, Min, Max); - SendMessage(Handle, SBM_SETPOS, Position, LPARAM(True)); - Case Kind Of - sbHorizontal: - SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) Or SBS_HORZ); - sbVertical: - SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) Or SBS_VERT); - End; - Assert(False, 'Trace:TODO: [TWin32WidgetSet.SetProperties] Set up step and page increments for csScrollBar'); - End; - csSpinEdit: Begin SendMessage(Handle, UDM_SETRANGE, 0, MakeLong(Trunc(TSpinEdit(Sender).MaxValue), Trunc(TSpinEdit(Sender).MinValue))); @@ -1774,6 +1760,9 @@ End; { $Log$ + Revision 1.283 2004/09/23 20:36:30 micha + convert LM_SETPROPERTIES message to interface method for TScrollBar + Revision 1.282 2004/09/23 14:50:47 micha convert LM_SETPROPERTIES message to interface method for TProgressBar diff --git a/lcl/interfaces/win32/win32wsstdctrls.pp b/lcl/interfaces/win32/win32wsstdctrls.pp index c5f75103a9..d076493524 100644 --- a/lcl/interfaces/win32/win32wsstdctrls.pp +++ b/lcl/interfaces/win32/win32wsstdctrls.pp @@ -33,7 +33,7 @@ uses // To get as little as posible circles, // uncomment only when needed for registration //////////////////////////////////////////////////// - Classes, StdCtrls, Controls, Graphics, + Classes, StdCtrls, Controls, Graphics, Forms, //////////////////////////////////////////////////// WSStdCtrls, WSLCLClasses, Windows, Win32Int, Win32Proc, InterfaceBase, LCLType; @@ -45,6 +45,7 @@ type private protected public + class procedure SetParams(const AScrollBar: TScrollBar); override; end; { TWin32WSCustomGroupBox } @@ -255,6 +256,24 @@ procedure EditSetSelLength(WinHandle: HWND; NewLength: integer); implementation +{ TWin32WSScrollBar } + +procedure TWin32WSScrollBar.SetParams(const AScrollBar: TScrollBar); +begin + with AScrollBar do + begin + SendMessage(Handle, SBM_SETRANGE, Min, Max); + SendMessage(Handle, SBM_SETPOS, Position, LPARAM(true)); + case Kind of + sbHorizontal: + SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) or SBS_HORZ); + sbVertical: + SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) or SBS_VERT); + end; + Assert(False, 'Trace:TODO: [TWin32WSScrollBar.SetParams] Set up step and page increments for csScrollBar'); + end; +end; + { TWin32WSCustomListBox } function TWin32WSCustomListBox.GetItemIndex(const ACustomListBox: TCustomListBox): integer; @@ -650,7 +669,7 @@ initialization // To improve speed, register only classes // which actually implement something //////////////////////////////////////////////////// -// RegisterWSComponent(TScrollBar, TWin32WSScrollBar); + RegisterWSComponent(TScrollBar, TWin32WSScrollBar); // RegisterWSComponent(TCustomGroupBox, TWin32WSCustomGroupBox); // RegisterWSComponent(TGroupBox, TWin32WSGroupBox); RegisterWSComponent(TCustomComboBox, TWin32WSCustomComboBox); diff --git a/lcl/widgetset/wsstdctrls.pp b/lcl/widgetset/wsstdctrls.pp index 151cd0ae3a..a6a25cd9ba 100644 --- a/lcl/widgetset/wsstdctrls.pp +++ b/lcl/widgetset/wsstdctrls.pp @@ -52,6 +52,7 @@ type { TWSScrollBar } TWSScrollBar = class(TWSWinControl) + class procedure SetParams(const AScrollBar: TScrollBar); virtual; end; { TWSCustomGroupBox } @@ -204,6 +205,12 @@ type implementation +{ TWSScrollBar } + +procedure TWSScrollBar.SetParams(const AScrollBar: TScrollBar); +begin +end; + { TWSCustomListBox } function TWSCustomListBox.GetItemIndex(const ACustomListBox: TCustomListBox): integer;