|
|
|
@ -423,9 +423,6 @@ type
|
|
|
|
|
protected
|
|
|
|
|
function CreateWidget(const AParams: TCreateParams): QWidgetH; override;
|
|
|
|
|
public
|
|
|
|
|
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
|
|
|
|
|
destructor Destroy; override;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
procedure preferredSize(var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean); override;
|
|
|
|
|
public
|
|
|
|
|
procedure AttachEvents; override;
|
|
|
|
@ -499,9 +496,6 @@ type
|
|
|
|
|
protected
|
|
|
|
|
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
|
|
|
|
|
public
|
|
|
|
|
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
|
|
|
|
|
destructor Destroy; override;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
function CheckState: QtCheckState;
|
|
|
|
|
procedure setCheckState(state: QtCheckState);
|
|
|
|
|
public
|
|
|
|
@ -518,10 +512,6 @@ type
|
|
|
|
|
FClickedHook: QAbstractButton_hookH;
|
|
|
|
|
protected
|
|
|
|
|
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
|
|
|
|
|
public
|
|
|
|
|
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
|
|
|
|
|
destructor Destroy; override;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
public
|
|
|
|
|
procedure AttachEvents; override;
|
|
|
|
|
procedure DetachEvents; override;
|
|
|
|
@ -535,9 +525,6 @@ type
|
|
|
|
|
protected
|
|
|
|
|
function CreateWidget(const AParams: TCreateParams):QWidgetH; override;
|
|
|
|
|
public
|
|
|
|
|
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
|
|
|
|
|
destructor Destroy; override;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
function EventFilter(Sender: QObjectH; Event: QEventH): Boolean; cdecl; override;
|
|
|
|
|
function getText: WideString; override;
|
|
|
|
|
procedure setText(const W: WideString); override;
|
|
|
|
@ -1808,10 +1795,8 @@ begin
|
|
|
|
|
QEventKeyRelease:
|
|
|
|
|
begin
|
|
|
|
|
{non-spontaneous key events are garbage in Qt >= 4.4}
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
Result := QEvent_spontaneous(Event);
|
|
|
|
|
if Result then
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
Result := SlotKey(Sender, Event) or (LCLObject is TCustomControl);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
@ -1860,7 +1845,6 @@ begin
|
|
|
|
|
else
|
|
|
|
|
QEvent_ignore(Event);
|
|
|
|
|
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
{fixes #14544 and others when we loose our LCLObject
|
|
|
|
|
after delivering message to LCL.}
|
|
|
|
|
if (LCLObject = nil) and
|
|
|
|
@ -1874,7 +1858,6 @@ begin
|
|
|
|
|
Result := True;
|
|
|
|
|
BeginEventProcessing;
|
|
|
|
|
end;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
|
|
|
|
|
EndEventProcessing;
|
|
|
|
|
end;
|
|
|
|
@ -2036,13 +2019,7 @@ begin
|
|
|
|
|
FilesList := TStringList.Create;
|
|
|
|
|
try
|
|
|
|
|
FilesList.Text := UTF16ToUTF8(WStr);
|
|
|
|
|
{$IFDEF USE_QT_45}
|
|
|
|
|
SetLength(Files, FilesList.Count);
|
|
|
|
|
{$ELSE}
|
|
|
|
|
{last member of TStringList always contains empty string
|
|
|
|
|
since QMimeData always have #13#10#0 at the end.So we cut it here.}
|
|
|
|
|
SetLength(Files, FilesList.Count - 1);
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
for i := 0 to High(Files) do
|
|
|
|
|
Files[i] := FilesList.Strings[i];
|
|
|
|
|
finally
|
|
|
|
@ -3892,12 +3869,10 @@ procedure TQtWidget.DestroyWidget;
|
|
|
|
|
begin
|
|
|
|
|
if (Widget <> nil) and FOwnWidget then
|
|
|
|
|
begin
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
if not FDeleteLater then
|
|
|
|
|
QWidget_destroy(Widget)
|
|
|
|
|
else
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
QObject_deleteLater(Widget);
|
|
|
|
|
QObject_deleteLater(Widget);
|
|
|
|
|
end;
|
|
|
|
|
Widget := nil;
|
|
|
|
|
end;
|
|
|
|
@ -4073,29 +4048,6 @@ begin
|
|
|
|
|
Result := QPushButton_create();
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{------------------------------------------------------------------------------
|
|
|
|
|
Function: TQtPushButton.Destroy
|
|
|
|
|
Params: None
|
|
|
|
|
Returns: Nothing
|
|
|
|
|
------------------------------------------------------------------------------}
|
|
|
|
|
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
|
|
|
|
|
destructor TQtPushButton.Destroy;
|
|
|
|
|
begin
|
|
|
|
|
{$ifdef VerboseQt}
|
|
|
|
|
WriteLn('TQtPushButton.Destroy');
|
|
|
|
|
{$endif}
|
|
|
|
|
|
|
|
|
|
if Widget <> nil then
|
|
|
|
|
begin
|
|
|
|
|
DetachEvents;
|
|
|
|
|
QPushButton_destroy(QPushButtonH(Widget));
|
|
|
|
|
Widget := nil;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
inherited Destroy;
|
|
|
|
|
end;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
|
|
|
|
|
procedure TQtPushButton.preferredSize(var PreferredWidth,
|
|
|
|
|
PreferredHeight: integer; WithThemeSpace: Boolean);
|
|
|
|
|
const
|
|
|
|
@ -4149,14 +4101,11 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtPushButton.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
|
FClickedHook := QAbstractButton_hook_create(Widget);
|
|
|
|
|
QAbstractButton_clicked2_Event(Method) := @SlotClicked;
|
|
|
|
|
QAbstractButton_hook_hook_clicked2(FClickedHook, Method);
|
|
|
|
|
QAbstractButton_hook_hook_clicked2(FClickedHook, @SlotClicked);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtPushButton.DetachEvents;
|
|
|
|
@ -4278,9 +4227,7 @@ begin
|
|
|
|
|
|
|
|
|
|
QLayout_addWidget(LayoutWidget, FCentralWidget);
|
|
|
|
|
QWidget_setLayout(Result, QLayoutH(LayoutWidget));
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
QWidget_setAttribute(Result, QtWA_DeleteOnClose);
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
QWidget_setAttribute(Result, QtWA_NoMousePropagation);
|
|
|
|
@ -4441,16 +4388,13 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtMainWindow.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
|
if FCentralWidget <> nil then
|
|
|
|
|
begin
|
|
|
|
|
FCWEventHook := QObject_hook_create(FCentralWidget);
|
|
|
|
|
TEventFilterMethod(Method) := @CWEventFilter;
|
|
|
|
|
QObject_hook_hook_events(FCWEventHook, Method);
|
|
|
|
|
QObject_hook_hook_events(FCWEventHook, @CWEventFilter);
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
@ -4612,29 +4556,6 @@ begin
|
|
|
|
|
Result := QCheckBox_create;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{------------------------------------------------------------------------------
|
|
|
|
|
Function: TQtCheckBox.Destroy
|
|
|
|
|
Params: None
|
|
|
|
|
Returns: Nothing
|
|
|
|
|
------------------------------------------------------------------------------}
|
|
|
|
|
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
|
|
|
|
|
destructor TQtCheckBox.Destroy;
|
|
|
|
|
begin
|
|
|
|
|
{$ifdef VerboseQt}
|
|
|
|
|
WriteLn('TQtCheckBox.Destroy');
|
|
|
|
|
{$endif}
|
|
|
|
|
|
|
|
|
|
if Widget <> nil then
|
|
|
|
|
begin
|
|
|
|
|
DetachEvents;
|
|
|
|
|
QCheckBox_destroy(QCheckBoxH(Widget));
|
|
|
|
|
Widget := nil;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
inherited Destroy;
|
|
|
|
|
end;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
|
|
|
|
|
{------------------------------------------------------------------------------
|
|
|
|
|
Function: TQtCheckBox.CheckState
|
|
|
|
|
Params: None
|
|
|
|
@ -4656,13 +4577,10 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtCheckBox.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
FStateChangedHook := QCheckBox_hook_create(Widget);
|
|
|
|
|
QCheckBox_stateChanged_Event(Method) := @SignalStateChanged;
|
|
|
|
|
QCheckBox_hook_hook_stateChanged(FStateChangedHook, Method);
|
|
|
|
|
QCheckBox_hook_hook_stateChanged(FStateChangedHook, @SignalStateChanged);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtCheckBox.DetachEvents;
|
|
|
|
@ -4699,38 +4617,12 @@ begin
|
|
|
|
|
QWidget_hide(Result);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{------------------------------------------------------------------------------
|
|
|
|
|
Function: TQtRadioButton.Destroy
|
|
|
|
|
Params: None
|
|
|
|
|
Returns: Nothing
|
|
|
|
|
------------------------------------------------------------------------------}
|
|
|
|
|
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
|
|
|
|
|
destructor TQtRadioButton.Destroy;
|
|
|
|
|
begin
|
|
|
|
|
{$ifdef VerboseQt}
|
|
|
|
|
WriteLn('TQtRadioButton.Destroy');
|
|
|
|
|
{$endif}
|
|
|
|
|
|
|
|
|
|
if Widget <> nil then
|
|
|
|
|
begin
|
|
|
|
|
DetachEvents;
|
|
|
|
|
QRadioButton_destroy(QRadioButtonH(Widget));
|
|
|
|
|
Widget := nil;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
inherited Destroy;
|
|
|
|
|
end;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
|
|
|
|
|
procedure TQtRadioButton.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
FClickedHook := QAbstractButton_hook_create(Widget);
|
|
|
|
|
|
|
|
|
|
QAbstractButton_clicked_Event(Method) := @SignalClicked;
|
|
|
|
|
QAbstractButton_hook_hook_clicked(FClickedHook, Method);
|
|
|
|
|
QAbstractButton_hook_hook_clicked(FClickedHook, @SignalClicked);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtRadioButton.DetachEvents;
|
|
|
|
@ -4819,29 +4711,6 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{------------------------------------------------------------------------------
|
|
|
|
|
Function: TQtGroupBox.Destroy
|
|
|
|
|
Params: None
|
|
|
|
|
Returns: Nothing
|
|
|
|
|
------------------------------------------------------------------------------}
|
|
|
|
|
{$IF NOT DEFINED(USE_QT_44) or NOT DEFINED(USE_QT_45)}
|
|
|
|
|
destructor TQtGroupBox.Destroy;
|
|
|
|
|
begin
|
|
|
|
|
{$ifdef VerboseQt}
|
|
|
|
|
WriteLn('TQtGroupBox.Destroy');
|
|
|
|
|
{$endif}
|
|
|
|
|
|
|
|
|
|
if Widget <> nil then
|
|
|
|
|
begin
|
|
|
|
|
DetachEvents;
|
|
|
|
|
QGroupBox_destroy(QGroupBoxH(Widget));
|
|
|
|
|
Widget := nil;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
inherited Destroy;
|
|
|
|
|
end;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
|
|
|
|
|
function TQtGroupBox.getText: WideString;
|
|
|
|
|
begin
|
|
|
|
|
QGroupBox_title(QGroupBoxH(Widget), @Result);
|
|
|
|
@ -5219,24 +5088,17 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtScrollBar.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
QAbstractSlider_rangeChanged_Event(Method) := @SlotRangeChanged;
|
|
|
|
|
QAbstractSlider_hook_hook_rangeChanged(FRangeChangedHook, Method);
|
|
|
|
|
QAbstractSlider_hook_hook_rangeChanged(FRangeChangedHook, @SlotRangeChanged);
|
|
|
|
|
|
|
|
|
|
QAbstractSlider_sliderMoved_Event(Method) := @SlotSliderMoved;
|
|
|
|
|
QAbstractSlider_hook_hook_sliderMoved(FSliderMovedHook, Method);
|
|
|
|
|
QAbstractSlider_hook_hook_sliderMoved(FSliderMovedHook, @SlotSliderMoved);
|
|
|
|
|
|
|
|
|
|
QAbstractSlider_sliderPressed_Event(Method) := @SlotSliderPressed;
|
|
|
|
|
QAbstractSlider_hook_hook_sliderPressed(FSliderPressedHook, Method);
|
|
|
|
|
QAbstractSlider_hook_hook_sliderPressed(FSliderPressedHook, @SlotSliderPressed);
|
|
|
|
|
|
|
|
|
|
QAbstractSlider_sliderReleased_Event(Method) := @SlotSliderReleased;
|
|
|
|
|
QAbstractSlider_hook_hook_sliderReleased(FSliderReleasedHook, Method);
|
|
|
|
|
QAbstractSlider_hook_hook_sliderReleased(FSliderReleasedHook, @SlotSliderReleased);
|
|
|
|
|
|
|
|
|
|
QAbstractSlider_valueChanged_Event(Method) := @SlotValueChanged;
|
|
|
|
|
QAbstractSlider_hook_hook_valueChanged(FValueChangedHook, Method);
|
|
|
|
|
QAbstractSlider_hook_hook_valueChanged(FValueChangedHook, @SlotValueChanged);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{ TQtToolBar }
|
|
|
|
@ -5298,22 +5160,16 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtTrackBar.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
|
QAbstractSlider_sliderMoved_Event(Method) := @SlotSliderMoved;
|
|
|
|
|
QAbstractSlider_hook_hook_sliderMoved(FSliderMovedHook, Method);
|
|
|
|
|
QAbstractSlider_hook_hook_sliderMoved(FSliderMovedHook, @SlotSliderMoved);
|
|
|
|
|
|
|
|
|
|
QAbstractSlider_sliderPressed_Event(Method) := @SlotSliderPressed;
|
|
|
|
|
QAbstractSlider_hook_hook_sliderPressed(FSliderPressedHook, Method);
|
|
|
|
|
QAbstractSlider_hook_hook_sliderPressed(FSliderPressedHook, @SlotSliderPressed);
|
|
|
|
|
|
|
|
|
|
QAbstractSlider_sliderReleased_Event(Method) := @SlotSliderReleased;
|
|
|
|
|
QAbstractSlider_hook_hook_sliderReleased(FSliderReleasedHook, Method);
|
|
|
|
|
QAbstractSlider_hook_hook_sliderReleased(FSliderReleasedHook, @SlotSliderReleased);
|
|
|
|
|
|
|
|
|
|
QAbstractSlider_valueChanged_Event(Method) := @SlotValueChanged;
|
|
|
|
|
QAbstractSlider_hook_hook_valueChanged(FValueChangedHook, Method);
|
|
|
|
|
QAbstractSlider_hook_hook_valueChanged(FValueChangedHook, @SlotValueChanged);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtTrackBar.SlotSliderMoved(p1: Integer); cdecl;
|
|
|
|
@ -5431,14 +5287,11 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtLineEdit.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
|
FTextChanged := QLineEdit_hook_create(Widget);
|
|
|
|
|
QLineEdit_textChanged_Event(Method) := @SignalTextChanged;
|
|
|
|
|
QLineEdit_hook_hook_textChanged(FTextChanged, Method);
|
|
|
|
|
QLineEdit_hook_hook_textChanged(FTextChanged, @SignalTextChanged);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtLineEdit.DetachEvents;
|
|
|
|
@ -5678,18 +5531,14 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtTextEdit.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
|
FUndoAvailableHook := QTextEdit_hook_create(Widget);
|
|
|
|
|
QTextEdit_undoAvailable_Event(Method) := @SignalUndoAvailable;
|
|
|
|
|
QTextEdit_hook_hook_undoAvailable(FUndoAvailableHook, Method);
|
|
|
|
|
QTextEdit_hook_hook_undoAvailable(FUndoAvailableHook, @SignalUndoAvailable);
|
|
|
|
|
|
|
|
|
|
FViewportEventHook := QObject_hook_create(QAbstractScrollArea_viewport(QTextEditH(Widget)));
|
|
|
|
|
TEventFilterMethod(Method) := @viewportEventFilter;
|
|
|
|
|
QObject_hook_hook_events(FViewportEventHook, Method);
|
|
|
|
|
QObject_hook_hook_events(FViewportEventHook, @viewportEventFilter);
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
@ -5737,13 +5586,10 @@ end;
|
|
|
|
|
{ TQtTabBar }
|
|
|
|
|
|
|
|
|
|
procedure TQtTabBar.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
FTabBarChangedHook := QTabBar_hook_create(QTabBarH(Widget));
|
|
|
|
|
QTabBar_currentChanged_Event(Method) := @SignalTabBarCurrentChanged;
|
|
|
|
|
QTabBar_hook_hook_currentChanged(FTabBarChangedHook, Method);
|
|
|
|
|
QTabBar_hook_hook_currentChanged(FTabBarChangedHook, @SignalTabBarCurrentChanged);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtTabBar.DetachEvents;
|
|
|
|
@ -5918,8 +5764,6 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtTabWidget.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
@ -5927,14 +5771,10 @@ begin
|
|
|
|
|
TabBar;
|
|
|
|
|
|
|
|
|
|
FCurrentChangedHook := QTabWidget_hook_create(Widget);
|
|
|
|
|
QTabWidget_currentChanged_Event(Method) := @SignalCurrentChanged;
|
|
|
|
|
QTabWidget_hook_hook_currentChanged(FCurrentChangedHook, Method);
|
|
|
|
|
QTabWidget_hook_hook_currentChanged(FCurrentChangedHook, @SignalCurrentChanged);
|
|
|
|
|
|
|
|
|
|
FCloseRequestedHook := QTabWidget_hook_create(Widget);
|
|
|
|
|
{$ifdef USE_QT_45}
|
|
|
|
|
QTabWidget_tabCloseRequested_Event(Method) := @SignalCloseRequested;
|
|
|
|
|
QTabWidget_hook_hook_tabCloseRequested(FCloseRequestedHook, Method);
|
|
|
|
|
{$endif}
|
|
|
|
|
QTabWidget_hook_hook_tabCloseRequested(FCloseRequestedHook, @SignalCloseRequested);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtTabWidget.DetachEvents;
|
|
|
|
@ -6076,9 +5916,7 @@ end;
|
|
|
|
|
|
|
|
|
|
procedure TQtTabWidget.setTabsClosable(AValue: Boolean);
|
|
|
|
|
begin
|
|
|
|
|
{$ifdef USE_QT_45}
|
|
|
|
|
QTabWidget_setTabsClosable(QTabWidgetH(Widget), AValue);
|
|
|
|
|
{$endif}
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TQtTabWidget.tabAt(APoint: TPoint): Integer;
|
|
|
|
@ -6342,8 +6180,6 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtComboBox.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
@ -6352,20 +6188,16 @@ begin
|
|
|
|
|
FSelectHook := QComboBox_hook_create(Widget);
|
|
|
|
|
|
|
|
|
|
// OnChange event if itemindex changed by mouse or kbd
|
|
|
|
|
QComboBox_activated_Event(Method) := @SlotActivate;
|
|
|
|
|
QComboBox_hook_hook_activated(FActivateHook, Method);
|
|
|
|
|
QComboBox_hook_hook_activated(FActivateHook, @SlotActivate);
|
|
|
|
|
|
|
|
|
|
// OnChange event -> fires only when text changed
|
|
|
|
|
QComboBox_editTextChanged_Event(Method) := @SlotChange;
|
|
|
|
|
QComboBox_hook_hook_editTextChanged(FChangeHook, Method);
|
|
|
|
|
QComboBox_hook_hook_editTextChanged(FChangeHook, @SlotChange);
|
|
|
|
|
// OnSelect event
|
|
|
|
|
QComboBox_currentIndexChanged_Event(Method) := @SlotSelect;
|
|
|
|
|
QComboBox_hook_hook_currentIndexChanged(FSelectHook, Method);
|
|
|
|
|
QComboBox_hook_hook_currentIndexChanged(FSelectHook, @SlotSelect);
|
|
|
|
|
|
|
|
|
|
// DropList events
|
|
|
|
|
FDropListEventHook := QObject_hook_create(DropList.Widget);
|
|
|
|
|
TEventFilterMethod(Method) := @EventFilter;
|
|
|
|
|
QObject_hook_hook_events(FDropListEventHook, Method);
|
|
|
|
|
QObject_hook_hook_events(FDropListEventHook, @EventFilter);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtComboBox.DetachEvents;
|
|
|
|
@ -6762,15 +6594,12 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtAbstractSpinBox.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
|
FEditingFinishedHook := QAbstractSpinBox_hook_create(Widget);
|
|
|
|
|
{TODO: find out which TLMessage should be sended }
|
|
|
|
|
QAbstractSpinBox_editingFinished_Event(Method) := @SignalEditingFinished;
|
|
|
|
|
QAbstractSpinBox_hook_hook_editingFinished(FEditingFinishedHook, Method);
|
|
|
|
|
QAbstractSpinBox_hook_hook_editingFinished(FEditingFinishedHook, @SignalEditingFinished);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtAbstractSpinBox.DetachEvents;
|
|
|
|
@ -6840,13 +6669,10 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtFloatSpinBox.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
FValueChangedHook := QDoubleSpinBox_hook_create(Widget);
|
|
|
|
|
QDoubleSpinBox_valueChanged_Event(Method) := @SignalValueChanged;
|
|
|
|
|
QDoubleSpinBox_hook_hook_valueChanged(FValueChangedHook, Method);
|
|
|
|
|
QDoubleSpinBox_hook_hook_valueChanged(FValueChangedHook, @SignalValueChanged);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtFloatSpinBox.DetachEvents;
|
|
|
|
@ -6901,13 +6727,10 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtSpinBox.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
FValueChangedHook := QSpinBox_hook_create(Widget);
|
|
|
|
|
QSpinBox_valueChanged_Event(Method) := @SignalValueChanged;
|
|
|
|
|
QSpinBox_hook_hook_valueChanged(FValueChangedHook, Method);
|
|
|
|
|
QSpinBox_hook_hook_valueChanged(FValueChangedHook, @SignalValueChanged);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtSpinBox.DetachEvents;
|
|
|
|
@ -6933,8 +6756,6 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtListWidget.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
@ -6945,20 +6766,15 @@ begin
|
|
|
|
|
FItemTextChangedHook := QListWidget_hook_create(Widget);
|
|
|
|
|
|
|
|
|
|
// OnSelectionChange event
|
|
|
|
|
QListWidget_itemSelectionChanged_Event(Method) := @signalSelectionChanged;
|
|
|
|
|
QListWidget_hook_hook_itemSelectionChanged(FSelectionChangeHook, Method);
|
|
|
|
|
QListWidget_hook_hook_itemSelectionChanged(FSelectionChangeHook, @signalSelectionChanged);
|
|
|
|
|
|
|
|
|
|
QListWidget_currentItemChanged_Event(Method) := @signalCurrentItemChange;
|
|
|
|
|
QListWidget_hook_hook_currentItemChanged(FCurrentItemChangeHook, Method);
|
|
|
|
|
QListWidget_hook_hook_currentItemChanged(FCurrentItemChangeHook, @signalCurrentItemChange);
|
|
|
|
|
|
|
|
|
|
QListWidget_itemDoubleClicked_Event(Method) := @signalItemDoubleClicked;
|
|
|
|
|
QListWidget_hook_hook_ItemDoubleClicked(FItemDoubleClickedHook, Method);
|
|
|
|
|
QListWidget_hook_hook_ItemDoubleClicked(FItemDoubleClickedHook, @signalItemDoubleClicked);
|
|
|
|
|
|
|
|
|
|
QListWidget_itemClicked_Event(Method) := @signalItemClicked;
|
|
|
|
|
QListWidget_hook_hook_ItemClicked(FItemClickedHook, Method);
|
|
|
|
|
QListWidget_hook_hook_ItemClicked(FItemClickedHook, @signalItemClicked);
|
|
|
|
|
|
|
|
|
|
QListWidget_currentTextChanged_Event(Method) := @signalItemTextChanged;
|
|
|
|
|
QListWidget_hook_hook_currentTextChanged(FItemTextChangedHook, Method);
|
|
|
|
|
QListWidget_hook_hook_currentTextChanged(FItemTextChangedHook, @signalItemTextChanged);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtListWidget.DetachEvents;
|
|
|
|
@ -7313,13 +7129,10 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtHeaderView.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
FSelectionClicked := QHeaderView_hook_create(Widget);
|
|
|
|
|
QHeaderView_sectionClicked_Event(Method) := @SignalSectionClicked;
|
|
|
|
|
QHeaderView_hook_hook_sectionClicked(FSelectionClicked, Method);
|
|
|
|
|
QHeaderView_hook_hook_sectionClicked(FSelectionClicked, @SignalSectionClicked);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtHeaderView.DetachEvents;
|
|
|
|
@ -7490,20 +7303,16 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TQtTreeWidget.getHeader: TQtHeaderView;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
{while designing TQtHeaderView is a no-no}
|
|
|
|
|
if not (csDesigning in LCLObject.ComponentState) and (FHeader = nil) then
|
|
|
|
|
begin
|
|
|
|
|
FHeader := TQtHeaderView.CreateFrom(LCLObject, QTreeView_header(QTreeViewH(Widget)));
|
|
|
|
|
FHeaderEventFilterHook := QObject_hook_create(FHeader.Widget);
|
|
|
|
|
TEventFilterMethod(Method) := @headerViewEventFilter;
|
|
|
|
|
QObject_hook_hook_events(FHeaderEventFilterHook, Method);
|
|
|
|
|
QObject_hook_hook_events(FHeaderEventFilterHook, @headerViewEventFilter);
|
|
|
|
|
|
|
|
|
|
FSectionClicked := QHeaderView_hook_create(FHeader.Widget);
|
|
|
|
|
QHeaderView_sectionClicked_Event(Method) := @FHeader.SignalSectionClicked;
|
|
|
|
|
QHeaderView_hook_hook_sectionClicked(FSectionClicked, Method);
|
|
|
|
|
QHeaderView_hook_hook_sectionClicked(FSectionClicked, @FHeader.SignalSectionClicked);
|
|
|
|
|
end;
|
|
|
|
|
Result := FHeader;
|
|
|
|
|
end;
|
|
|
|
@ -7664,11 +7473,7 @@ end;
|
|
|
|
|
procedure TQtTreeWidget.setHeaderVisible(AVisible: Boolean);
|
|
|
|
|
begin
|
|
|
|
|
if (csDesigning in LCLObject.ComponentState) then
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
QTreeView_setHeaderHidden(QTreeViewH(Widget), not AVisible)
|
|
|
|
|
{$ELSE}
|
|
|
|
|
QWidget_setVisible(QTreeView_header(QTreeViewH(Widget)), AVisible)
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
else
|
|
|
|
|
Header.setVisible(AVisible);
|
|
|
|
|
end;
|
|
|
|
@ -7723,8 +7528,6 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtTreeWidget.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
@ -7735,23 +7538,17 @@ begin
|
|
|
|
|
FItemChangedHook := QTreeWidget_hook_create(Widget);
|
|
|
|
|
FItemEnteredHook := QTreeWidget_hook_create(Widget);
|
|
|
|
|
|
|
|
|
|
QTreeWidget_currentItemChanged_Event(Method) := @SignalCurrentItemChanged;
|
|
|
|
|
QTreeWidget_hook_hook_currentItemChanged(FCurrentItemChangedHook, Method);
|
|
|
|
|
QTreeWidget_hook_hook_currentItemChanged(FCurrentItemChangedHook, @SignalCurrentItemChanged);
|
|
|
|
|
|
|
|
|
|
QTreeWidget_itemDoubleClicked_Event(Method) := @SignalItemDoubleClicked;
|
|
|
|
|
QTreeWidget_hook_hook_ItemDoubleClicked(FItemDoubleClickedHook, Method);
|
|
|
|
|
QTreeWidget_hook_hook_ItemDoubleClicked(FItemDoubleClickedHook, @SignalItemDoubleClicked);
|
|
|
|
|
|
|
|
|
|
QTreeWidget_itemClicked_Event(Method) := @SignalItemClicked;
|
|
|
|
|
QTreeWidget_hook_hook_ItemClicked(FItemClickedHook, Method);
|
|
|
|
|
QTreeWidget_hook_hook_ItemClicked(FItemClickedHook, @SignalItemClicked);
|
|
|
|
|
|
|
|
|
|
QTreeWidget_itemActivated_Event(Method) := @SignalItemActivated;
|
|
|
|
|
QTreeWidget_hook_hook_ItemActivated(FItemActivatedHook, Method);
|
|
|
|
|
QTreeWidget_hook_hook_ItemActivated(FItemActivatedHook, @SignalItemActivated);
|
|
|
|
|
|
|
|
|
|
QTreeWidget_itemChanged_Event(Method) := @SignalItemChanged;
|
|
|
|
|
QTreeWidget_hook_hook_ItemChanged(FItemChangedHook, Method);
|
|
|
|
|
QTreeWidget_hook_hook_ItemChanged(FItemChangedHook, @SignalItemChanged);
|
|
|
|
|
|
|
|
|
|
QTreeWidget_itemEntered_Event(Method) := @SignalItemEntered;
|
|
|
|
|
QTreeWidget_hook_hook_ItemEntered(FItemEnteredHook, Method);
|
|
|
|
|
QTreeWidget_hook_hook_ItemEntered(FItemEnteredHook, @SignalItemEntered);
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
@ -8118,9 +7915,7 @@ function TQtMenu.CreateWidget(const APrams: TCreateParams): QWidgetH;
|
|
|
|
|
begin
|
|
|
|
|
FIcon := nil;
|
|
|
|
|
Result := QMenu_create();
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
FDeleteLater := True;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
FActionHandle := nil;;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
@ -8149,25 +7944,19 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtMenu.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
FTriggeredHook := QAction_hook_create(ActionHandle);
|
|
|
|
|
FHoveredHook := QAction_hook_create(ActionHandle);
|
|
|
|
|
FAboutToHideHook := QMenu_hook_create(Widget);
|
|
|
|
|
FEventHook := QObject_hook_create(Widget);
|
|
|
|
|
|
|
|
|
|
QAction_triggered_Event(Method) := @SlotTriggered;
|
|
|
|
|
QAction_hook_hook_triggered(FTriggeredHook, Method);
|
|
|
|
|
QAction_hook_hook_triggered(FTriggeredHook, @SlotTriggered);
|
|
|
|
|
|
|
|
|
|
QAction_hovered_Event(Method) := @SlotHovered;
|
|
|
|
|
QAction_hook_hook_hovered(FHoveredHook, Method);
|
|
|
|
|
QAction_hook_hook_hovered(FHoveredHook, @SlotHovered);
|
|
|
|
|
|
|
|
|
|
QMenu_aboutToHide_Event(Method) := @SlotAboutToHide;
|
|
|
|
|
QMenu_hook_hook_aboutToHide(FAboutToHideHook, Method);
|
|
|
|
|
QMenu_hook_hook_aboutToHide(FAboutToHideHook, @SlotAboutToHide);
|
|
|
|
|
|
|
|
|
|
TEventFilterMethod(Method) := @EventFilter;
|
|
|
|
|
QObject_hook_hook_events(FEventHook, Method);
|
|
|
|
|
QObject_hook_hook_events(FEventHook, @EventFilter);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtMenu.DetachEvents;
|
|
|
|
@ -8201,11 +7990,7 @@ end;
|
|
|
|
|
procedure TQtMenu.SlotAboutToHide; cdecl;
|
|
|
|
|
begin
|
|
|
|
|
if FMenuItem.Menu is TPopupMenu then
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
DoPopupClose;
|
|
|
|
|
{$ELSE}
|
|
|
|
|
QCoreApplication_postEvent(Widget, QEvent_create(LCLQt_PopupMenuClose));
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtMenu.DoPopupClose;
|
|
|
|
@ -8425,14 +8210,11 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtProgressBar.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
|
FValueChangedHook := QProgressBar_hook_create(Widget);
|
|
|
|
|
QProgressBar_valueChanged_Event(Method) := @SignalValueChanged;
|
|
|
|
|
QProgressBar_hook_hook_valueChanged(FValueChangedHook, Method);
|
|
|
|
|
QProgressBar_hook_hook_valueChanged(FValueChangedHook, @SignalValueChanged);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtProgressBar.DetachEvents;
|
|
|
|
@ -9010,7 +8792,6 @@ end;
|
|
|
|
|
procedure TQtCustomControl.viewportNeeded;
|
|
|
|
|
var
|
|
|
|
|
AParams: TCreateParams;
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
if FViewPortWidget <> niL then
|
|
|
|
|
exit;
|
|
|
|
@ -9022,20 +8803,17 @@ begin
|
|
|
|
|
FViewPortWidget.FOwner := Self;
|
|
|
|
|
FViewPortWidget.AttachEvents; // some event will be redirected to scroll area
|
|
|
|
|
|
|
|
|
|
QLCLAbstractScrollArea_viewportEvent_Override(Method) := @ViewPortEventFilter;
|
|
|
|
|
QLCLAbstractScrollArea_override_viewportEvent(QLCLAbstractScrollAreaH(Widget), Method);
|
|
|
|
|
QLCLAbstractScrollArea_override_viewportEvent(QLCLAbstractScrollAreaH(Widget), @ViewPortEventFilter);
|
|
|
|
|
|
|
|
|
|
setViewport(FViewPortWidget.Widget);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtCustomControl.viewportDelete;
|
|
|
|
|
var
|
|
|
|
|
NilMethod: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
if Assigned(FViewPortWidget) then
|
|
|
|
|
begin
|
|
|
|
|
FillChar(NilMethod, SizeOf(NilMethod), 0);
|
|
|
|
|
QLCLAbstractScrollArea_override_viewportEvent(QLCLAbstractScrollAreaH(Widget), NilMethod);
|
|
|
|
|
QLCLAbstractScrollArea_override_viewportEvent(QLCLAbstractScrollAreaH(Widget),
|
|
|
|
|
QLCLAbstractScrollArea_viewportEvent_Override(NilMethod));
|
|
|
|
|
FreeAndNil(FViewPortWidget);
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
@ -9059,7 +8837,6 @@ end;
|
|
|
|
|
|
|
|
|
|
procedure TQtCalendar.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
i: integer;
|
|
|
|
|
Children: TPtrIntArray;
|
|
|
|
|
AnObject: QObjectH;
|
|
|
|
@ -9071,17 +8848,13 @@ begin
|
|
|
|
|
FSelectionChangedHook := QCalendarWidget_hook_create(Widget);
|
|
|
|
|
FCurrentPageChangedHook := QCalendarWidget_hook_create(Widget);
|
|
|
|
|
|
|
|
|
|
QCalendarWidget_clicked_Event(Method) := @SignalClicked;
|
|
|
|
|
QCalendarWidget_hook_hook_clicked(FClickedHook, Method);
|
|
|
|
|
QCalendarWidget_hook_hook_clicked(FClickedHook, @SignalClicked);
|
|
|
|
|
|
|
|
|
|
QCalendarWidget_activated_Event(Method) := @SignalActivated;
|
|
|
|
|
QCalendarWidget_hook_hook_activated(FActivatedHook, Method);
|
|
|
|
|
QCalendarWidget_hook_hook_activated(FActivatedHook, @SignalActivated);
|
|
|
|
|
|
|
|
|
|
QCalendarWidget_selectionChanged_Event(Method) := @SignalSelectionChanged;
|
|
|
|
|
QCalendarWidget_hook_hook_selectionChanged(FSelectionChangedHook, Method);
|
|
|
|
|
QCalendarWidget_hook_hook_selectionChanged(FSelectionChangedHook, @SignalSelectionChanged);
|
|
|
|
|
|
|
|
|
|
QCalendarWidget_currentPageChanged_Event(Method) := @SignalCurrentPageChanged;
|
|
|
|
|
QCalendarWidget_hook_hook_currentPageChanged(FCurrentPageChangedHook, Method);
|
|
|
|
|
QCalendarWidget_hook_hook_currentPageChanged(FCurrentPageChangedHook, @SignalCurrentPageChanged);
|
|
|
|
|
|
|
|
|
|
QObject_children(Widget, @Children);
|
|
|
|
|
for i := 0 to High(Children) do
|
|
|
|
@ -9093,8 +8866,7 @@ begin
|
|
|
|
|
if QObject_inherits(AnObject,'QAbstractScrollArea') then
|
|
|
|
|
begin
|
|
|
|
|
FCalViewportEventHook := QObject_hook_create(QAbstractScrollArea_viewport(QAbstractScrollAreaH(AnObject)));
|
|
|
|
|
TEventFilterMethod(Method) := @calViewportEventFilter;
|
|
|
|
|
QObject_hook_hook_events(FCalViewportEventHook, Method);
|
|
|
|
|
QObject_hook_hook_events(FCalViewportEventHook, @calViewportEventFilter);
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
@ -9295,20 +9067,14 @@ function TQtHintWindow.CreateWidget(const AParams: TCreateParams): QWidgetH;
|
|
|
|
|
begin
|
|
|
|
|
FHasPaint := True;
|
|
|
|
|
Result := QWidget_create(nil, QtToolTip);
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
FDeleteLater := True;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
MenuBar := nil;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtHintWindow.SetDefaultColorRoles;
|
|
|
|
|
begin
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
WidgetColorRole := QPaletteToolTipBase;
|
|
|
|
|
TextColorRole := QPaletteToolTipText;
|
|
|
|
|
{$ELSE}
|
|
|
|
|
inherited SetDefaultColorRoles;
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{ TQtPage }
|
|
|
|
@ -9388,18 +9154,14 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtAbstractItemView.SetOwnerDrawn(const AValue: Boolean);
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
if AValue and (FNewDelegate = nil) then
|
|
|
|
|
begin
|
|
|
|
|
FNewDelegate := QLCLItemDelegate_create(Widget);
|
|
|
|
|
|
|
|
|
|
QLCLItemDelegate_sizeHint_Override(Method) := @ItemDelegateSizeHint;
|
|
|
|
|
QLCLItemDelegate_override_sizeHint(FNewDelegate, Method);
|
|
|
|
|
QLCLItemDelegate_override_sizeHint(FNewDelegate, @ItemDelegateSizeHint);
|
|
|
|
|
|
|
|
|
|
QLCLItemDelegate_paint_Override(Method) := @ItemDelegatePaint;
|
|
|
|
|
QLCLItemDelegate_override_Paint(FNewDelegate, Method);
|
|
|
|
|
QLCLItemDelegate_override_Paint(FNewDelegate, @ItemDelegatePaint);
|
|
|
|
|
|
|
|
|
|
FOldDelegate := QAbstractItemView_itemDelegate(QAbstractItemViewH(Widget));
|
|
|
|
|
QAbstractItemView_setItemDelegate(QAbstractItemViewH(Widget), FNewDelegate);
|
|
|
|
@ -9468,8 +9230,6 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtAbstractItemView.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
FSignalActivated := QAbstractItemView_hook_create(Widget);
|
|
|
|
@ -9479,27 +9239,20 @@ begin
|
|
|
|
|
FSignalPressed := QAbstractItemView_hook_create(Widget);
|
|
|
|
|
FSignalViewportEntered := QAbstractItemView_hook_create(Widget);
|
|
|
|
|
|
|
|
|
|
QAbstractItemView_activated_Event(Method) := @SignalActivated;
|
|
|
|
|
QAbstractItemView_hook_hook_activated(FSignalActivated, Method);
|
|
|
|
|
QAbstractItemView_hook_hook_activated(FSignalActivated, @SignalActivated);
|
|
|
|
|
|
|
|
|
|
QAbstractItemView_clicked_Event(Method) := @SignalClicked;
|
|
|
|
|
QAbstractItemView_hook_hook_clicked(FSignalClicked, Method);
|
|
|
|
|
QAbstractItemView_hook_hook_clicked(FSignalClicked, @SignalClicked);
|
|
|
|
|
|
|
|
|
|
QAbstractItemView_doubleClicked_Event(Method) := @SignalDoubleClicked;
|
|
|
|
|
QAbstractItemView_hook_hook_doubleClicked(FSignalDoubleClicked, Method);
|
|
|
|
|
QAbstractItemView_hook_hook_doubleClicked(FSignalDoubleClicked, @SignalDoubleClicked);
|
|
|
|
|
|
|
|
|
|
QAbstractItemView_entered_Event(Method) := @SignalEntered;
|
|
|
|
|
QAbstractItemView_hook_hook_entered(FSignalEntered, Method);
|
|
|
|
|
QAbstractItemView_hook_hook_entered(FSignalEntered, @SignalEntered);
|
|
|
|
|
|
|
|
|
|
QAbstractItemView_pressed_Event(Method) := @SignalPressed;
|
|
|
|
|
QAbstractItemView_hook_hook_pressed(FSignalPressed, Method);
|
|
|
|
|
QAbstractItemView_hook_hook_pressed(FSignalPressed, @SignalPressed);
|
|
|
|
|
|
|
|
|
|
QAbstractItemView_viewportEntered_Event(Method) := @SignalViewportEntered;
|
|
|
|
|
QAbstractItemView_hook_hook_viewportEntered(FSignalViewportEntered, Method);
|
|
|
|
|
QAbstractItemView_hook_hook_viewportEntered(FSignalViewportEntered, @SignalViewportEntered);
|
|
|
|
|
|
|
|
|
|
FAbstractItemViewportEventHook := QObject_hook_create(QAbstractScrollArea_viewport(QAbstractScrollAreaH(Widget)));
|
|
|
|
|
TEventFilterMethod(Method) := @itemViewViewportEventFilter;
|
|
|
|
|
QObject_hook_hook_events(FAbstractItemViewportEventHook, Method);
|
|
|
|
|
QObject_hook_hook_events(FAbstractItemViewportEventHook, @itemViewViewportEventFilter);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtAbstractItemView.DetachEvents;
|
|
|
|
@ -9639,8 +9392,6 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtFileDialog.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
|
|
|
|
@ -9648,14 +9399,11 @@ begin
|
|
|
|
|
FDirecotyEnteredHook := QFileDialog_hook_create(Widget);
|
|
|
|
|
FFilterSelectedHook := QFileDialog_hook_create(Widget);
|
|
|
|
|
|
|
|
|
|
QFileDialog_filterSelected_Event(Method) := @FilterSelectedEvent;
|
|
|
|
|
QFileDialog_hook_hook_filterSelected(FFilterSelectedHook, Method);
|
|
|
|
|
QFileDialog_hook_hook_filterSelected(FFilterSelectedHook, @FilterSelectedEvent);
|
|
|
|
|
|
|
|
|
|
QFileDialog_currentChanged_Event(Method) := @CurrentChangedEvent;
|
|
|
|
|
QFileDialog_hook_hook_currentChanged(FCurrentChangedHook, Method);
|
|
|
|
|
QFileDialog_hook_hook_currentChanged(FCurrentChangedHook, @CurrentChangedEvent);
|
|
|
|
|
|
|
|
|
|
QFileDialog_directoryEntered_Event(Method) := @DirectoryEnteredEvent;
|
|
|
|
|
QFileDialog_hook_hook_directoryEntered(FDirecotyEnteredHook, Method);
|
|
|
|
|
QFileDialog_hook_hook_directoryEntered(FDirecotyEnteredHook, @DirectoryEnteredEvent);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtFileDialog.DetachEvents;
|
|
|
|
@ -9718,11 +9466,7 @@ end;
|
|
|
|
|
|
|
|
|
|
procedure TQtFileDialog.setFilter(const AFilter: WideString);
|
|
|
|
|
begin
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
QFileDialog_setNameFilter(QFileDialogH(Widget), @AFilter);
|
|
|
|
|
{$ELSE}
|
|
|
|
|
QFileDialog_setFilter(QFileDialogH(Widget), @AFilter);
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtFileDialog.setLabelText(const ALabel: QFileDialogDialogLabel; const AText: WideString);
|
|
|
|
@ -9737,11 +9481,7 @@ end;
|
|
|
|
|
|
|
|
|
|
procedure TQtFileDialog.setSelectedFilter(const ASelFilter: WideString);
|
|
|
|
|
begin
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
QFileDialog_selectNameFilter(QFileDialogH(Widget), @ASelFilter);
|
|
|
|
|
{$ELSE}
|
|
|
|
|
QFileDialog_selectFilter(QFileDialogH(Widget), @ASelFilter);
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtFileDialog.setViewMode(const AMode: QFileDialogViewMode);
|
|
|
|
@ -9782,11 +9522,7 @@ end;
|
|
|
|
|
|
|
|
|
|
procedure TQtFileDialog.getFilters(const retval: QStringListH);
|
|
|
|
|
begin
|
|
|
|
|
{$IF DEFINED(USE_QT_44) or DEFINED(USE_QT_45)}
|
|
|
|
|
QFileDialog_nameFilters(QFileDialogH(Widget), retval);
|
|
|
|
|
{$ELSE}
|
|
|
|
|
QFileDialog_filters(QFileDialogH(Widget), retval);
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{ TQtGraphicView }
|
|
|
|
@ -10002,15 +9738,12 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtDesignWidget.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
if FDesignControl <> nil then
|
|
|
|
|
begin
|
|
|
|
|
FDesignControlEventHook := QObject_hook_create(FDesignControl);
|
|
|
|
|
TEventFilterMethod(Method) := @DesignControlEventFilter;
|
|
|
|
|
QObject_hook_hook_events(FDesignControlEventHook, Method);
|
|
|
|
|
QObject_hook_hook_events(FDesignControlEventHook, @DesignControlEventFilter);
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
@ -10108,13 +9841,10 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtMessageBox.AttachEvents;
|
|
|
|
|
var
|
|
|
|
|
Method: TMethod;
|
|
|
|
|
begin
|
|
|
|
|
inherited AttachEvents;
|
|
|
|
|
FMBEventHook := QObject_hook_create(Widget);
|
|
|
|
|
TEventFilterMethod(Method) := @EventFilter;
|
|
|
|
|
QObject_hook_hook_events(FMBEventHook, Method);
|
|
|
|
|
QObject_hook_hook_events(FMBEventHook, @EventFilter);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TQtMessageBox.DetachEvents;
|
|
|
|
|