mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-20 18:19:10 +02:00
LCL-GTK1: Cleanup GTK2 code.
git-svn-id: trunk@63520 -
This commit is contained in:
parent
d49e476396
commit
86a4cd2add
@ -485,53 +485,6 @@ begin
|
|||||||
DeliverMessage(Data, Mess);
|
DeliverMessage(Data, Mess);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF GTK2}
|
|
||||||
function gtkchanged_spinbox(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
|
||||||
begin
|
|
||||||
Result := CallBackDefaultReturn;
|
|
||||||
if LockOnChange(PgtkObject(Widget),0) > 0 then exit;
|
|
||||||
if GTK_IS_SPIN_BUTTON(Widget) then
|
|
||||||
gtk_spin_button_update(PGtkSpinButton(Widget));
|
|
||||||
end;
|
|
||||||
|
|
||||||
function gtkchanged_editbox_backspace(widget: PGtkWidget;
|
|
||||||
data: gPointer): GBoolean; cdecl;
|
|
||||||
var
|
|
||||||
GStart, GEnd: gint;
|
|
||||||
Info: PWidgetInfo;
|
|
||||||
EntryText: PgChar;
|
|
||||||
begin
|
|
||||||
Result := CallBackDefaultReturn;
|
|
||||||
if GTK_IS_ENTRY(Widget) then
|
|
||||||
begin
|
|
||||||
gtk_editable_get_selection_bounds(PGtkEditable(Widget), @GStart, @GEnd);
|
|
||||||
EntryText := gtk_entry_get_text(PGtkEntry(Widget));
|
|
||||||
if (GStart = GEnd) and (GStart > 0) and
|
|
||||||
(UTF8Length(EntryText) = PGtkEntry(Widget)^.text_length) then
|
|
||||||
begin
|
|
||||||
{mark as invalid event for gtkchanged_editbox, so
|
|
||||||
it doesn't update cursor pos or we have a mess.}
|
|
||||||
if (gtk_major_version = 2) and (gtk_minor_version < 17) then
|
|
||||||
begin
|
|
||||||
Info := GetWidgetInfo(Widget, False);
|
|
||||||
include(Info^.Flags, wwiInvalidEvent);
|
|
||||||
end;
|
|
||||||
PGtkEntry(Widget)^.current_pos := GStart - 1;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function gtkchanged_editbox_delete(widget: PGtkWidget;
|
|
||||||
AType: TGtkDeleteType; APos: gint; data: gPointer): GBoolean; cdecl;
|
|
||||||
var
|
|
||||||
Info: PWidgetInfo;
|
|
||||||
begin
|
|
||||||
Result := CallBackDefaultReturn;
|
|
||||||
Info := GetWidgetInfo(Widget, False);
|
|
||||||
include(Info^.Flags, wwiInvalidEvent);
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
function gtkdaychanged(Widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
function gtkdaychanged(Widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||||
var
|
var
|
||||||
MSG: TLMessage;
|
MSG: TLMessage;
|
||||||
|
@ -98,16 +98,8 @@ function gtkHideCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
|||||||
function gtkactivateCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
function gtkactivateCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||||
function gtkchangedCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
function gtkchangedCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||||
function gtkchanged_editbox( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
function gtkchanged_editbox( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||||
{$IFDEF GTK2}
|
|
||||||
function gtkchanged_spinbox(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
|
||||||
function gtkchanged_editbox_backspace( widget: PGtkWidget;
|
|
||||||
data: gPointer): GBoolean; cdecl;
|
|
||||||
function gtkchanged_editbox_delete(widget: PGtkWidget;
|
|
||||||
AType: TGtkDeleteType; APos: gint; data: gPointer): GBoolean; cdecl;
|
|
||||||
{$ENDIF}
|
|
||||||
function gtkdaychanged(Widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
function gtkdaychanged(Widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||||
function gtktoggledCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
function gtktoggledCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||||
|
|
||||||
{$Ifdef GTK1}
|
{$Ifdef GTK1}
|
||||||
function gtkDrawCB(Widget: PGtkWidget; area: PGDKRectangle;
|
function gtkDrawCB(Widget: PGtkWidget; area: PGDKRectangle;
|
||||||
data: gPointer): GBoolean; cdecl;
|
data: gPointer): GBoolean; cdecl;
|
||||||
|
@ -3433,13 +3433,8 @@ begin
|
|||||||
begin
|
begin
|
||||||
if (ALCLObject is TCustomForm) and (TCustomForm(ALCLObject).Parent=nil)
|
if (ALCLObject is TCustomForm) and (TCustomForm(ALCLObject).Parent=nil)
|
||||||
then begin
|
then begin
|
||||||
{$IFDEF GTK2}
|
|
||||||
ConnectSenderSignal(gObject, 'focus-in-event', @gtkfrmactivateAfter);
|
|
||||||
ConnectSenderSignal(gObject, 'focus-out-event', @gtkfrmdeactivateAfter);
|
|
||||||
{$ELSE}
|
|
||||||
ConnectSenderSignalAfter(gObject, 'focus-in-event', @gtkfrmactivateAfter);
|
ConnectSenderSignalAfter(gObject, 'focus-in-event', @gtkfrmactivateAfter);
|
||||||
ConnectSenderSignalAfter(gObject, 'focus-out-event', @gtkfrmdeactivateAfter);
|
ConnectSenderSignalAfter(gObject, 'focus-out-event', @gtkfrmdeactivateAfter);
|
||||||
{$ENDIF}
|
|
||||||
end else if ALCLObject is TCustomMemo then
|
end else if ALCLObject is TCustomMemo then
|
||||||
ConnectSenderSignal(gCore, 'activate', @gtkactivateCB)
|
ConnectSenderSignal(gCore, 'activate', @gtkactivateCB)
|
||||||
else
|
else
|
||||||
@ -3465,27 +3460,11 @@ begin
|
|||||||
else if ALCLObject is TCustomCheckbox then
|
else if ALCLObject is TCustomCheckbox then
|
||||||
begin
|
begin
|
||||||
ConnectSenderSignal(gObject, 'toggled', @gtktoggledCB)
|
ConnectSenderSignal(gObject, 'toggled', @gtktoggledCB)
|
||||||
{$IFDEF GTK2}
|
|
||||||
// in gtk2 callback signal of SpinEdit is 'value-changed' (in gtk1- 'changed')
|
|
||||||
end else
|
|
||||||
if ALCLObject is TCustomFloatSpinEdit then
|
|
||||||
begin
|
|
||||||
ConnectSenderSignalAfter(gObject, 'changed', @gtkchanged_spinbox);
|
|
||||||
ConnectSenderSignal(gObject, 'value-changed', @gtkchanged_editbox);
|
|
||||||
{$ENDIF}
|
|
||||||
end else
|
end else
|
||||||
begin
|
begin
|
||||||
{$IFDEF VerboseTWinControlRealText}
|
{$IFDEF VerboseTWinControlRealText}
|
||||||
ConnectSenderSignalAfter(gObject, 'changed', @gtkchanged_editbox);
|
ConnectSenderSignalAfter(gObject, 'changed', @gtkchanged_editbox);
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
{$IFDEF gtk2}
|
|
||||||
if GTK_IS_ENTRY(gObject) then
|
|
||||||
begin
|
|
||||||
ConnectSenderSignal(gObject,'backspace', @gtkchanged_editbox_backspace);
|
|
||||||
if (gtk_major_version = 2) and (gtk_minor_version < 17) then
|
|
||||||
ConnectSenderSignal(gObject,'delete-from-cursor', @gtkchanged_editbox_delete);
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
|
||||||
ConnectSenderSignal(gObject, 'changed', @gtkchanged_editbox);
|
ConnectSenderSignal(gObject, 'changed', @gtkchanged_editbox);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
@ -3624,10 +3603,6 @@ begin
|
|||||||
GDK_BUTTON_PRESS_MASK);
|
GDK_BUTTON_PRESS_MASK);
|
||||||
ConnectSenderSignalAfter(gMouse, 'button-press-event',
|
ConnectSenderSignalAfter(gMouse, 'button-press-event',
|
||||||
@gtkMouseBtnPressAfter, GDK_BUTTON_PRESS_MASK);
|
@gtkMouseBtnPressAfter, GDK_BUTTON_PRESS_MASK);
|
||||||
{$IFDEF Gtk2}
|
|
||||||
ConnectSenderSignal(gMouse, 'scroll-event', @gtkMouseWheelCB,
|
|
||||||
GDK_BUTTON_PRESS_MASK);
|
|
||||||
{$ENDIF}
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -4010,10 +3985,8 @@ procedure TGtkWidgetSet.DestroyConnectedWidget(Widget: PGtkWidget;
|
|||||||
CheckIfDestroying: boolean);
|
CheckIfDestroying: boolean);
|
||||||
var
|
var
|
||||||
FixWidget: PGtkWidget;
|
FixWidget: PGtkWidget;
|
||||||
{$IFNDef GTK2}
|
|
||||||
Accelerators: PGSlist;
|
Accelerators: PGSlist;
|
||||||
AccelEntry : PGtkAccelEntry;
|
AccelEntry : PGtkAccelEntry;
|
||||||
{$Endif}
|
|
||||||
QueueItem : TGtkMessageQueueItem;
|
QueueItem : TGtkMessageQueueItem;
|
||||||
NextItem : TGtkMessageQueueItem;
|
NextItem : TGtkMessageQueueItem;
|
||||||
MsgPtr: PMsg;
|
MsgPtr: PMsg;
|
||||||
@ -4412,28 +4385,7 @@ begin
|
|||||||
|
|
||||||
if gtk_widget_visible(SenderWidget) then
|
if gtk_widget_visible(SenderWidget) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
gtk_widget_show(SenderWidget);
|
gtk_widget_show(SenderWidget);
|
||||||
|
|
||||||
{$IFDEF GTK2}
|
|
||||||
if (ACustomForm <> nil) and
|
|
||||||
(ACustomForm.Parent = nil) and
|
|
||||||
(ACustomForm.ParentWindow = 0) then
|
|
||||||
begin
|
|
||||||
CurWindowState:=ACustomForm.WindowState;
|
|
||||||
if csDesigning in ACustomForm.ComponentState then
|
|
||||||
CurWindowState:=wsNormal;
|
|
||||||
case CurWindowState of
|
|
||||||
wsNormal:
|
|
||||||
begin
|
|
||||||
gtk_window_deiconify(PGtkWindow(SenderWidget));
|
|
||||||
gtk_window_unmaximize(PGtkWindow(SenderWidget));
|
|
||||||
end;
|
|
||||||
wsMaximized: gtk_window_maximize(PGtkWindow(SenderWidget));
|
|
||||||
wsMinimized: gtk_window_iconify(PGtkWindow(SenderWidget));
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
|
|
||||||
@ -4443,17 +4395,6 @@ begin
|
|||||||
if not gtk_widget_visible(SenderWidget) then
|
if not gtk_widget_visible(SenderWidget) then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
{$IFDEF GTK2}
|
|
||||||
// save previous position
|
|
||||||
if ACustomForm <> nil then
|
|
||||||
begin
|
|
||||||
if (ACustomForm is TForm) and
|
|
||||||
not (ACustomForm.FormStyle in [fsMDIChild, fsSplash])
|
|
||||||
and (ACustomForm.BorderStyle <> bsNone) then
|
|
||||||
SetResizeRequest(SenderWidget);
|
|
||||||
end;
|
|
||||||
{$ENDIF}
|
|
||||||
|
|
||||||
gtk_widget_hide(SenderWidget);
|
gtk_widget_hide(SenderWidget);
|
||||||
|
|
||||||
if GtkWidgetIsA(SenderWidget,GTK_TYPE_WINDOW) then begin
|
if GtkWidgetIsA(SenderWidget,GTK_TYPE_WINDOW) then begin
|
||||||
|
Loading…
Reference in New Issue
Block a user