The KWidgetBase< T > class maps the MFC API of CWnd. More...
#include <kwidget.h>
Classes | |
struct | ScrollInfo |
Struct used to retrieve or set the scroll bar parameters maintains. More... | |
Public Types | |
enum class | Flag { NoFlags = 0x0000 , VScroll = 0x0001 , HScroll = 0x0002 , HelpInfo = 0x0004 } |
enum class | ScrollMask : uint { Range = 0x0001 , Page = 0x0002 , Pos = 0x0004 , DisableNoScroll = 0x0008 , TrackPos = 0x0010 , All = Range | Page | Pos | TrackPos } |
Public Member Functions | |
virtual bool | Create (const KString &lpszWindowName, Flags dwStyle, const KRect &rect, QWidget *pParentWnd) |
Creates and initializes the child window associated with the CWnd object. | |
void | DestroyWindow () |
Asks for deletion of the widget. | |
bool | eventFilter (QObject *watched, QEvent *event) override |
void | GetClientRect (KRect *rect) const |
Gets the dimensions of the widget. | |
template<typename U > | |
U | GetParent () const |
Retrieves the parent object of the widget, requires to pass the type of the parent. | |
template<typename U = T> | |
KDialog * | GetParentDialog () const |
Retrieves the parent widget as a KDialog. Returns nullptr if it's not a KDialog. | |
template<typename U = T> | |
KWidget * | GetParentWidget () const |
Retrieves the parent widget as a KWidget. Returns nullptr if it's not a KWidget. | |
bool | GetScrollInfo (Qt::Orientation nBar, ScrollInfo *lpScrollInfo, ScrollMasks nMask=ScrollMask::All) |
Retrieves the information that the ScrollInfo structure maintains about a scroll bar. | |
int | GetScrollLimit (Qt::Orientation nBar) |
Retrieves the limit of the scroll bar. | |
int | GetScrollPos (Qt::Orientation nBar) const |
Retrieves the current position of a scroll box. | |
void | GetScrollRange (Qt::Orientation nBar, int *lpMinPos, int *lpMaxPos) const |
Copies the current minimum and maximum scroll-bar positions for the given scroll bar. | |
void | GetWindowRect (KRect *rect) const |
Gets the screen coordinates of widget. | |
virtual void | OnHelp () |
Handles F1 Help within the application (using the current context). | |
bool | PostMessage (unsigned int id, uint64_t wParam=0, int64_t lParam=0) |
Places a message in the application event loop, then returns without waiting for the window to process the message. | |
int64_t | SendMessage (unsigned int id, uint64_t wParam=0, int64_t lParam=0) |
Sends a message to the object and does not return until it has processed the message. | |
void | setFlag (Flag flag, bool on=true) |
Sets some flags on the widget. | |
bool | SetScrollInfo (Qt::Orientation nBar, ScrollInfo *lpScrollInfo, bool bRedraw=true) |
Sets information about the scroll bar. | |
int | SetScrollPos (Qt::Orientation nBar, int nPos, bool bRedraw=true) |
Sets the current position of a scroll box and, if specified, redraws the scroll bar to reflect the new position. | |
void | SetScrollRange (Qt::Orientation nBar, int nMinPos, int nMaxPos, bool bRedraw=true) |
Sets minimum and maximum position values for the given scroll bar. | |
~KWidgetBase () | |
Static Public Attributes | |
static constexpr char | mfcIDProperty [] = "mfc_id" |
Protected Types | |
using | FocusHandler = std::function<void()> |
using | MessageHandler = std::function<int64_t(uint64_t, int64_t)> |
Protected Member Functions | |
template<typename Class > | |
void | connectKillFocus (QWidget *w, Class *object, void(Class::*method)()) |
void | connectKillFocus (QWidget *w, FocusHandler method) |
template<typename Class > | |
void | connectMessage (int id, Class *object, int64_t(Class::*method)(uint64_t, int64_t)) |
void | connectMessage (int id, MessageHandler method) |
template<typename Signal , typename Class > | |
void | connectRange (const typename QtPrivate::FunctionPointer< Signal >::Object *firstWidget, const typename QtPrivate::FunctionPointer< Signal >::Object *lastWidget, Signal signal, Class *object, void(Class::*method)(unsigned int)) |
void | connectScroll (QAbstractSlider *abstractSlider) |
bool | event (QEvent *e) override |
void | keyPressEvent (QKeyEvent *event) override |
void | keyReleaseEvent (QKeyEvent *event) override |
void | mouseDoubleClickEvent (QMouseEvent *event) override |
void | mouseMoveEvent (QMouseEvent *event) override |
void | mousePressEvent (QMouseEvent *event) override |
void | mouseReleaseEvent (QMouseEvent *event) override |
virtual void | OnDestroy () |
Called when widget is being destroyed. | |
virtual bool | OnHelpInfo (QKeyEvent *event) |
Called by the framework when the user presses the F1 key. | |
virtual void | OnHScroll (int nSBCode, int nPos, QAbstractSlider *pScroll) |
Called when the user clicks the horizontal scroll bar. | |
virtual void | OnKeyDown (QKeyEvent *event) |
Called when a key is pressed. | |
virtual void | OnKeyUp (QKeyEvent *event) |
Called when a key is released. | |
virtual void | OnLButtonDblClk (QMouseEvent *event) |
Called when the user double-clicks the left mouse button. | |
virtual void | OnLButtonDown (QMouseEvent *event) |
Called when the user presses the left mouse button. | |
virtual void | OnLButtonUp (QMouseEvent *event) |
Called when the user releases the left mouse button. | |
virtual void | OnMButtonDblClk (QMouseEvent *event) |
Called when the user double-clicks the middle mouse button. | |
virtual void | OnMButtonDown (QMouseEvent *event) |
Called when the user presses the middle mouse button. | |
virtual void | OnMButtonUp (QMouseEvent *event) |
Called when the user releases the middle mouse button. | |
virtual void | OnMouseMove (QMouseEvent *event) |
Called when the mouse cursor moves. | |
virtual void | OnPaint (QPaintEvent *event) |
Called to repaint a portion of the window. | |
virtual void | OnRButtonDblClk (QMouseEvent *event) |
Called when the user double-clicks the right mouse button. | |
virtual void | OnRButtonDown (QMouseEvent *event) |
Called when the user presses the right mouse button. | |
virtual void | OnRButtonUp (QMouseEvent *event) |
Called when the user releases the right mouse button. | |
virtual void | OnSize (QResizeEvent *event) |
Called after the size of CWnd has changed. | |
virtual void | OnVScroll (int nSBCode, int nPos, QAbstractSlider *pScroll) |
Called when the user clicks the vertical scroll bar. | |
void | paintEvent (QPaintEvent *event) override |
void | resizeEvent (QResizeEvent *event) override |
Friends | |
class | KPainter |
The KWidgetBase< T > class maps the MFC API of CWnd.
This class is a template class, as we need this API for QWidget, QDialog but also QMainWindow. This is the easiest way to add the same API for all of them.
|
protected |
|
protected |
|
strong |
|
strong |
KWidgetBase< T >::~KWidgetBase | ( | ) |
|
protected |
|
protected |
|
protected |
Calls this method to add a message handler, replaces the ON_MESSAGE
|
protected |
Calls this method to add a message handler, replaces the ON_MESSAGE
|
inlineprotected |
Calls this method to do a range connection on multiple widgets ON_CONTROL_RANGE. It is using the idValue property to determine the range.
|
protected |
Call this method for each scrollbars/sliders to connect to the On[V|H]Scroll methods
|
virtual |
Creates and initializes the child window associated with the CWnd object.
void KWidgetBase< T >::DestroyWindow | ( | ) |
Asks for deletion of the widget.
|
overrideprotected |
|
override |
void KWidgetBase< T >::GetClientRect | ( | KRect * | rect | ) | const |
Gets the dimensions of the widget.
Retrieves the parent object of the widget, requires to pass the type of the parent.
|
inline |
|
inline |
bool KWidgetBase< T >::GetScrollInfo | ( | Qt::Orientation | nBar, |
ScrollInfo * | lpScrollInfo, | ||
ScrollMasks | nMask = ScrollMask::All ) |
Retrieves the information that the ScrollInfo structure maintains about a scroll bar.
int KWidgetBase< T >::GetScrollLimit | ( | Qt::Orientation | nBar | ) |
Retrieves the limit of the scroll bar.
int KWidgetBase< T >::GetScrollPos | ( | Qt::Orientation | nBar | ) | const |
Retrieves the current position of a scroll box.
void KWidgetBase< T >::GetScrollRange | ( | Qt::Orientation | nBar, |
int * | lpMinPos, | ||
int * | lpMaxPos ) const |
Copies the current minimum and maximum scroll-bar positions for the given scroll bar.
void KWidgetBase< T >::GetWindowRect | ( | KRect * | rect | ) | const |
Gets the screen coordinates of widget.
|
overrideprotected |
|
inlineoverrideprotected |
|
overrideprotected |
|
inlineoverrideprotected |
|
overrideprotected |
|
overrideprotected |
|
inlineprotectedvirtual |
Called when widget is being destroyed.
|
inlinevirtual |
Handles F1 Help within the application (using the current context).
|
inlineprotectedvirtual |
Called by the framework when the user presses the F1 key.
|
inlineprotectedvirtual |
Called when the user clicks the horizontal scroll bar.
|
inlineprotectedvirtual |
Called when a key is pressed.
|
inlineprotectedvirtual |
Called when a key is released.
|
inlineprotectedvirtual |
Called when the user double-clicks the left mouse button.
|
inlineprotectedvirtual |
Called when the user presses the left mouse button.
|
inlineprotectedvirtual |
Called when the user releases the left mouse button.
|
inlineprotectedvirtual |
Called when the user double-clicks the middle mouse button.
|
inlineprotectedvirtual |
Called when the user presses the middle mouse button.
|
inlineprotectedvirtual |
Called when the user releases the middle mouse button.
|
inlineprotectedvirtual |
Called when the mouse cursor moves.
|
protectedvirtual |
Called to repaint a portion of the window.
|
inlineprotectedvirtual |
Called when the user double-clicks the right mouse button.
|
inlineprotectedvirtual |
Called when the user presses the right mouse button.
|
inlineprotectedvirtual |
Called when the user releases the right mouse button.
|
inlineprotectedvirtual |
Called after the size of CWnd has changed.
|
inlineprotectedvirtual |
Called when the user clicks the vertical scroll bar.
|
overrideprotected |
bool KWidgetBase< T >::PostMessage | ( | unsigned int | id, |
uint64_t | wParam = 0, | ||
int64_t | lParam = 0 ) |
Places a message in the application event loop, then returns without waiting for the window to process the message.
|
inlineoverrideprotected |
int64_t KWidgetBase< T >::SendMessage | ( | unsigned int | id, |
uint64_t | wParam = 0, | ||
int64_t | lParam = 0 ) |
Sends a message to the object and does not return until it has processed the message.
void KWidgetBase< T >::setFlag | ( | Flag | flag, |
bool | on = true ) |
Sets some flags on the widget.
Display a scrollarea with either a vertical, an horizontal or both scrollbars, the client rect becomes the inner part of the frame.
bool KWidgetBase< T >::SetScrollInfo | ( | Qt::Orientation | nBar, |
ScrollInfo * | lpScrollInfo, | ||
bool | bRedraw = true ) |
Sets information about the scroll bar.
int KWidgetBase< T >::SetScrollPos | ( | Qt::Orientation | nBar, |
int | nPos, | ||
bool | bRedraw = true ) |
Sets the current position of a scroll box and, if specified, redraws the scroll bar to reflect the new position.
void KWidgetBase< T >::SetScrollRange | ( | Qt::Orientation | nBar, |
int | nMinPos, | ||
int | nMaxPos, | ||
bool | bRedraw = true ) |
Sets minimum and maximum position values for the given scroll bar.
|
friend |
|
staticconstexpr |