mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 22:58:14 +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);
|
||||
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;
|
||||
var
|
||||
MSG: TLMessage;
|
||||
|
@ -98,16 +98,8 @@ function gtkHideCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtkactivateCB(widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
function gtkchangedCB( 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 gtktoggledCB( widget: PGtkWidget; data: gPointer): GBoolean; cdecl;
|
||||
|
||||
{$Ifdef GTK1}
|
||||
function gtkDrawCB(Widget: PGtkWidget; area: PGDKRectangle;
|
||||
data: gPointer): GBoolean; cdecl;
|
||||
|
@ -3433,13 +3433,8 @@ begin
|
||||
begin
|
||||
if (ALCLObject is TCustomForm) and (TCustomForm(ALCLObject).Parent=nil)
|
||||
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-out-event', @gtkfrmdeactivateAfter);
|
||||
{$ENDIF}
|
||||
end else if ALCLObject is TCustomMemo then
|
||||
ConnectSenderSignal(gCore, 'activate', @gtkactivateCB)
|
||||
else
|
||||
@ -3465,27 +3460,11 @@ begin
|
||||
else if ALCLObject is TCustomCheckbox then
|
||||
begin
|
||||
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
|
||||
begin
|
||||
{$IFDEF VerboseTWinControlRealText}
|
||||
ConnectSenderSignalAfter(gObject, 'changed', @gtkchanged_editbox);
|
||||
{$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);
|
||||
{$ENDIF}
|
||||
end;
|
||||
@ -3624,10 +3603,6 @@ begin
|
||||
GDK_BUTTON_PRESS_MASK);
|
||||
ConnectSenderSignalAfter(gMouse, 'button-press-event',
|
||||
@gtkMouseBtnPressAfter, GDK_BUTTON_PRESS_MASK);
|
||||
{$IFDEF Gtk2}
|
||||
ConnectSenderSignal(gMouse, 'scroll-event', @gtkMouseWheelCB,
|
||||
GDK_BUTTON_PRESS_MASK);
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -4010,10 +3985,8 @@ procedure TGtkWidgetSet.DestroyConnectedWidget(Widget: PGtkWidget;
|
||||
CheckIfDestroying: boolean);
|
||||
var
|
||||
FixWidget: PGtkWidget;
|
||||
{$IFNDef GTK2}
|
||||
Accelerators: PGSlist;
|
||||
AccelEntry : PGtkAccelEntry;
|
||||
{$Endif}
|
||||
QueueItem : TGtkMessageQueueItem;
|
||||
NextItem : TGtkMessageQueueItem;
|
||||
MsgPtr: PMsg;
|
||||
@ -4412,28 +4385,7 @@ begin
|
||||
|
||||
if gtk_widget_visible(SenderWidget) then
|
||||
exit;
|
||||
|
||||
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
|
||||
else begin
|
||||
|
||||
@ -4443,17 +4395,6 @@ begin
|
||||
if not gtk_widget_visible(SenderWidget) then
|
||||
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);
|
||||
|
||||
if GtkWidgetIsA(SenderWidget,GTK_TYPE_WINDOW) then begin
|
||||
|
Loading…
Reference in New Issue
Block a user