mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-02 14:20:35 +02:00
gtk2 intf: setfont, setcolor for memo, combobox
git-svn-id: trunk@9170 -
This commit is contained in:
parent
560cd8d9a1
commit
491a7b2186
@ -134,6 +134,10 @@ procedure gdk_draw_pixbuf(drawable : PGdkDrawable; gc : PGdkGC; pixbuf : PGdkPix
|
||||
{$EndIf}
|
||||
{$EndIf}
|
||||
|
||||
var
|
||||
GTK2WidgetSet: TGTK2WidgetSet absolute GtkWidgetSet;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
|
@ -1,3 +1,5 @@
|
||||
{%MainUnit gtk2wsstdctrls.pp}
|
||||
|
||||
{ Callbacks }
|
||||
|
||||
procedure Gtk2WS_MemoChanged( AGtkTextBuffer: PGtkTextBuffer; WidgetInfo: PWidgetInfo); cdecl;
|
||||
@ -114,7 +116,6 @@ begin
|
||||
gtk_scrolled_window_set_policy(PGtkScrolledWindow(Widget),
|
||||
GTK_POLICY_AUTOMATIC,
|
||||
GTK_POLICY_AUTOMATIC);
|
||||
gtk_scrolled_window_set_shadow_type(PGtkScrolledWindow(Widget),GTK_SHADOW_IN);
|
||||
SetMainWidget(Widget, TempWidget);
|
||||
GetWidgetInfo(Widget, True)^.CoreWidget := TempWidget;
|
||||
|
||||
@ -138,3 +139,35 @@ begin
|
||||
Result := TGtk2MemoStrings.Create(TextView, ACustomMemo);
|
||||
end;
|
||||
|
||||
|
||||
procedure TGtk2WSCustomMemo.SetColor(const AWinControl: TWinControl);
|
||||
var
|
||||
AWidget : PGTKWidget;
|
||||
begin
|
||||
AWidget:=PGtkWidget(AWinControl.Handle);
|
||||
AWidget:=GetWidgetInfo(AWidget, True)^.CoreWidget;
|
||||
Gtk2WidgetSet.SetWidgetColor(AWidget, AWinControl.font.color, AWinControl.color,[GTK_STATE_NORMAL,GTK_STATE_ACTIVE,GTK_STATE_PRELIGHT,GTK_STATE_SELECTED,GTK_STYLE_BASE]);
|
||||
|
||||
end;
|
||||
|
||||
procedure TGtk2WSCustomMemo.SetFont(const AWinControl: TWinControl;
|
||||
const AFont : TFont);
|
||||
var
|
||||
AWidget: PGTKWidget;
|
||||
begin
|
||||
if not AWinControl.HandleAllocated then exit;
|
||||
if AFont.IsDefault then exit;
|
||||
|
||||
AWidget:= PGtkWidget(AWinControl.Handle);
|
||||
AWidget:= GetWidgetInfo(AWidget, true)^.CoreWidget;
|
||||
|
||||
if AWidget<>nil then begin
|
||||
Gtk2WidgetSet.SetWidgetColor(AWidget, AWinControl.font.color, clNone,
|
||||
[GTK_STATE_NORMAL,GTK_STATE_ACTIVE,GTK_STATE_PRELIGHT,GTK_STATE_SELECTED,
|
||||
GTK_STYLE_TEXT]);
|
||||
Gtk2WidgetSet.SetWidgetFont(AWidget, AFont);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
@ -36,7 +36,7 @@ uses
|
||||
////////////////////////////////////////////////////
|
||||
StdCtrls, LMessages,
|
||||
////////////////////////////////////////////////////
|
||||
glib2, gdk2pixbuf, gdk2, gtk2, Pango,
|
||||
glib2, gdk2, gtk2, Pango,
|
||||
WSStdCtrls, WSLCLClasses, GtkWSStdCtrls, Gtk2Int, LCLType, GtkDef, LCLProc,
|
||||
GTKWinApiWindow, gtkglobals, gtkproc, InterfaceBase;
|
||||
|
||||
@ -72,6 +72,7 @@ type
|
||||
private
|
||||
protected
|
||||
public
|
||||
class procedure SetFont(const AWinControl: TWinControl; const AFont : tFont); override;
|
||||
end;
|
||||
|
||||
{ TGtk2WSComboBox }
|
||||
@ -131,6 +132,8 @@ type
|
||||
public
|
||||
class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): TLCLIntfHandle; override;
|
||||
class function GetStrings(const ACustomMemo: TCustomMemo): TStrings; override;
|
||||
class procedure SetColor(const AWinControl: TWinControl);override;
|
||||
class procedure SetFont(const AWinControl: TWinControl;const AFont : TFont);override;
|
||||
end;
|
||||
|
||||
{ TGtk2WSEdit }
|
||||
@ -584,6 +587,27 @@ begin
|
||||
Result := ABS(Entry^.current_pos - Entry^.selection_bound);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TGtk2WSCustomComboBox.SetFont(const AWinControl: TWinControl;
|
||||
const AFont : TFont);
|
||||
var
|
||||
AWidget: PGTKWidget;
|
||||
EntryWidget: PGtkWidget;
|
||||
begin
|
||||
if not AWinControl.HandleAllocated then exit;
|
||||
if AFont.IsDefault then exit;
|
||||
|
||||
AWidget:= PGtkWidget(AWinControl.Handle);
|
||||
EntryWidget:=PGtkCombo(AWidget)^.entry;
|
||||
|
||||
if EntryWidget<>nil then begin
|
||||
Gtk2WidgetSet.SetWidgetColor(EntryWidget, AWinControl.font.color, clNone,
|
||||
[GTK_STATE_NORMAL,GTK_STATE_ACTIVE,GTK_STATE_PRELIGHT,GTK_STATE_SELECTED,GTK_STYLE_TEXT]);
|
||||
Gtk2WidgetSet.SetWidgetFont(EntryWidget, AFont);
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
@ -595,7 +619,7 @@ initialization
|
||||
// RegisterWSComponent(TScrollBar, TGtk2WSScrollBar);
|
||||
// RegisterWSComponent(TCustomGroupBox, TGtk2WSCustomGroupBox);
|
||||
// RegisterWSComponent(TGroupBox, TGtk2WSGroupBox);
|
||||
// RegisterWSComponent(TCustomComboBox, TGtk2WSCustomComboBox);
|
||||
RegisterWSComponent(TCustomComboBox, TGtk2WSCustomComboBox);
|
||||
// RegisterWSComponent(TComboBox, TGtk2WSComboBox);
|
||||
RegisterWSComponent(TCustomListBox, TGtk2WSCustomListBox);
|
||||
// RegisterWSComponent(TListBox, TGtk2WSListBox);
|
||||
|
Loading…
Reference in New Issue
Block a user