libcdos-fw
CFWidget类 参考

所有可视控件的基类,抽象类。 更多...

#include <CFWidget.h>

+ 类 CFWidget 继承关系图:

Public 成员函数

virtual void addCssStyleData (const Glib::ustring &data, CFUInt priority)
 
virtual void addCssStylePath (const Glib::ustring &path, CFUInt priority)
 
void addEvents (Gdk::EventMask events)
 将 events 位字段添加到控件的事件监听掩码中。 更多...
 
int getAllocatedHeight ()
 返回当前给控件分配的高度。 更多...
 
int getAllocatedWidth ()
 返回当前给控件分配的宽度。 更多...
 
bool getCanFocus ()
 获取控件是否可以拥有输入焦点。 更多...
 
CFAlign getHalign ()
 获取横向对齐方式。 更多...
 
bool getHasTooltip ()
 获取是否使用提示信息。 更多...
 
int getMarginBottom ()
 获取控件的下边距 更多...
 
int getMarginLeft ()
 获取控件的左边距 更多...
 
int getMarginRight ()
 获取控件的右边距 更多...
 
int getMarginTop ()
 获取控件的上边距 更多...
 
bool getSensitive ()
 获取控件可用状态 更多...
 
Glib::ustring getTooltipMarkup ()
 获取当前控件提示信息的内容。 更多...
 
Glib::ustring getTooltipText ()
 获取当前控件提示信息的内容。 更多...
 
CFAlign getValign ()
 获取纵向对齐方式。 更多...
 
bool getVisible ()
 判断本控件是否为可见状态。 更多...
 
void grabFocus ()
 控件获取键盘输入焦点。 更多...
 
bool hasFocus ()
 判断控件是否拥有全局输入焦点。 更多...
 
void hide ()
 隐藏控件 更多...
 
virtual bool isContainer ()
 判断控件是否为容器。 更多...
 
bool isFocus ()
 判断控件是否当前拥有焦点的控件。 更多...
 
bool isSensitive ()
 获取控件及其所在容器控件的可用状态 更多...
 
bool isVisible ()
 判断本控件以及控件所在容器(直到顶层容器)是否为可见状态。 更多...
 
void queueDraw ()
 请求重新描画控件 更多...
 
void queueDrawArea (int x, int y, int width, int height)
 请求重新描画的指定区域 更多...
 
void reparent (CFWidget &new_parent)
 将控件从当前的容器中移动到 newParent 指定的容器中。 更多...
 
void setCanFocus (bool can_focus=true)
 指定控件是否可以获取输入焦点。 更多...
 
void setEvents (Gdk::EventMask events)
 设置控件的事件监听掩码。 更多...
 
void setHalign (CFAlign align)
 设置控件横向对齐方式。 更多...
 
void setHasTooltip (bool has_tooltip=true)
 设置是否使用提示信息。 更多...
 
void setMarginBottom (int margin)
 设置控件的下边距 更多...
 
void setMarginLeft (int margin)
 设置控件的左边距 更多...
 
void setMarginRight (int margin)
 设置控件的右边距 更多...
 
void setMarginTop (int margin)
 设置控件的上边距 更多...
 
void setName (const Glib::ustring &name)
 设置控件的名称,以便于使用CSS文件来控制样式。 更多...
 
void setSensitive (bool sensitive=true)
 设置控件是否可用。 更多...
 
void setSizeRequest (int width=-1, int height=-1)
 设置控件的最小尺寸。 更多...
 
void setTooltipMarkup (const Glib::ustring &markup)
 设置提示信息的内容。 更多...
 
void setTooltipText (const Glib::ustring &text)
 设置提示信息的内容。 更多...
 
void setValign (CFAlign align)
 设置控件纵向对齐方式。 更多...
 
void setVisible (bool visible=true)
 设置控件的可见状态。 更多...
 
void show ()
 显示控件。 更多...
 
void showAll ()
 显示控件以及控件所容纳的所有控件(包括所容纳容器控件的所有子控件) 更多...
 
virtual ~CFWidget ()
 析构函数 更多...
 
- Public 成员函数 继承自 CFObject
void * getObj ()
 获取支持库类实例所绑定的对象实例。 更多...
 
virtual ~CFObject ()
 析构函数。 更多...
 

: 类名的应用,通常在css文件中以'.'开头;

通过类名设置样式

为控件设置样式,该函数仅对当前主题css文件样式中的类有效。

virtual void addCssStyleName (const Glib::ustring &name)
 
virtual void addCssStyleFromPath (const Glib::ustring &css_file_path, const Glib::ustring &name, CFUInt priority)
 通过自定义css样式文件路径设置样式 更多...
 
virtual void listCssStyle ()
 查看样式列表 更多...
 
virtual std::vector< Glib::ustring > getCssStyleVector ()
 获取控件样式列表 更多...
 
virtual void removeCssStyle (const Glib::ustring &name)
 通过样式名移除样式 更多...
 
Glib::RefPtr< Gdk::Window > getWindow ()
 
sigc::signal< bool, const ::Cairo::RefPtr< ::Cairo::Context > &> signalDraw ()
 
sigc::signal< bool, GdkEvent *> signalEvent ()
 
sigc::signal< bool, GdkEventButton *> signalButtonPressEvent ()
 
sigc::signal< bool, GdkEventButton *> signalButtonReleaseEvent ()
 
sigc::signal< bool, GdkEventAny *> signalDeleteEvent ()
 
sigc::signal< bool, GdkEventKey *> signalKeyPressEvent ()
 
sigc::signal< bool, GdkEventKey *> signalKeyReleaseEvent ()
 
sigc::signal< void > signalShow ()
 
virtual void onRealObjectInit ()
 对象绑定后进行初始化的回调函数。 更多...
 
virtual void onRealObjectFinalize ()
 对象解除绑定前的回调函数。 更多...
 
virtual bool onDraw (const ::Cairo::RefPtr< ::Cairo::Context > &cr)
 
virtual bool onEvent (GdkEvent *event)
 
virtual bool onButtonPressEvent (GdkEventButton *event)
 
virtual bool onButtonReleaseEvent (GdkEventButton *event)
 
virtual bool onDeleteEvent (GdkEventAny *event)
 
virtual bool onKeyPressEvent (GdkEventKey *event)
 
virtual bool onKeyReleaseEvent (GdkEventKey *event)
 
virtual void onShow ()
 
 CFWidget ()
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 CFObject
static CFObjectgetCFObject (void *realObj)
 通过对象实例获取所对应的 CFObject的子类对象实例。 更多...
 
- Protected 成员函数 继承自 CFObject
 CFObject ()
 构造函数 更多...
 
void setRealObject (void *obj)
 将自身实例与需要使用的对象实例进行绑定。 更多...
 

详细描述

所有可视控件的基类,抽象类。

因为该类为所有可视控件的基类,所以包含了所有可视控件类的通用属性
与函数。本类为抽象类,无法被直接实例化。

可视控件的一个重要部分是 *_event 信号以及所有控件需要用到的虚函数。
这些信号是从Gdk或XLib中发上来的; 可以通过继承并重写这些虚函数来跟踪
控件的对应的事件与信号。需要注意的是:需要监听某个event, 必须先设置
对应的event mask。

构造及析构函数说明

§ ~CFWidget()

virtual CFWidget::~CFWidget ( )
virtual

析构函数

对象被销毁的时候会被自动调用。

成员函数说明

§ addCssStyleFromPath()

virtual void CFWidget::addCssStyleFromPath ( const Glib::ustring &  css_file_path,
const Glib::ustring &  name,
CFUInt  priority 
)
virtual

通过自定义css样式文件路径设置样式

参数
[in]css_file_pathcss文件的绝对路径
[in]name既可以是类选择器(在css中以'.'开头),也可以是id选择器(在css中以'#'开头)
[in]priority显示权重

为控件设置样式,该函数无视当前主题样式,可以自定义文件路径。

§ addEvents()

void CFWidget::addEvents ( Gdk::EventMask  events)

将 events 位字段添加到控件的事件监听掩码中。

参数
[in]events需要监听的事件掩码位字段。
参见
setEvents()

§ getAllocatedHeight()

int CFWidget::getAllocatedHeight ( )

返回当前给控件分配的高度。

该函数一般使用在 signalDraw() 的槽函数中。

返回
控件的高度。

§ getAllocatedWidth()

int CFWidget::getAllocatedWidth ( )

返回当前给控件分配的宽度。

该函数一般使用在 signalDraw() 的槽函数中。

返回
控件的宽度。

§ getCanFocus()

bool CFWidget::getCanFocus ( )

获取控件是否可以拥有输入焦点。

返回
true 控件可以拥有焦点。
false 控件不可以拥有焦点。
参见
setCanFocus()

§ getCssStyleVector()

virtual std::vector<Glib::ustring> CFWidget::getCssStyleVector ( )
virtual

获取控件样式列表

返回
: 返回一个std::vector类型的样式列表

§ getHalign()

CFAlign CFWidget::getHalign ( )

获取横向对齐方式。

返回
横向对齐方式。

§ getHasTooltip()

bool CFWidget::getHasTooltip ( )

获取是否使用提示信息。

返回
是否使用提示信息。

§ getMarginBottom()

int CFWidget::getMarginBottom ( )

获取控件的下边距

返回
返回控件下边距值,以像素为单位。

§ getMarginLeft()

int CFWidget::getMarginLeft ( )

获取控件的左边距

返回
返回控件左边距值,以像素为单位。

§ getMarginRight()

int CFWidget::getMarginRight ( )

获取控件的右边距

返回
返回控件右边距值,以像素为单位。

§ getMarginTop()

int CFWidget::getMarginTop ( )

获取控件的上边距

返回
返回控件上边距值,以像素为单位。

§ getSensitive()

bool CFWidget::getSensitive ( )

获取控件可用状态

本函数只会获取控件的可用状态,不会判断所在容器的可用状态,
如果想获取控件的父容器是否也是可见状态, 请使用 isSensitive() 来替代。

返回
true 控件为可用状态。
false 控件为不可用状态。

§ getTooltipMarkup()

Glib::ustring CFWidget::getTooltipMarkup ( )

获取当前控件提示信息的内容。

返回
提示信息的内容, 可能包含 Pango 文本标记语言格式的字符串。

§ getTooltipText()

Glib::ustring CFWidget::getTooltipText ( )

获取当前控件提示信息的内容。

返回
当前控件提示信息的内容。

§ getValign()

CFAlign CFWidget::getValign ( )

获取纵向对齐方式。

返回
纵向对齐方式。

§ getVisible()

bool CFWidget::getVisible ( )

判断本控件是否为可见状态。

如果想获取控件的父容器是否也是可见状态, 请使用 isVisible() 来替代。
该函数不会检查控件是否被遮挡。

返回
true 控件为可见状态。
false 控件为不可见状态。
参见
setVisible()

§ grabFocus()

void CFWidget::grabFocus ( )

控件获取键盘输入焦点。

该控件必须是可获得焦点的控件, 例如:CFEntry等; 类似 CFFrame 的控件无效。

该函数的调用需要控件执行完 realized 和 mapped 过程。
在控件创建完成立即使用本函数获取焦点可能会失败并导致严重的警告。

§ hasFocus()

bool CFWidget::hasFocus ( )

判断控件是否拥有全局输入焦点。

返回
true 控件取得全局输入焦点。
false 控件未取得全局输入焦点。
参见
isFocus()

§ hide()

void CFWidget::hide ( )

隐藏控件

show() 的效果相反, 能将控件隐藏(对用户不可见)

§ isContainer()

virtual bool CFWidget::isContainer ( )
virtual

判断控件是否为容器。

只有直接或间接继承自 CFContainer 的类型,该函数会返回true, 其它控件则返回false。

返回
true 控件为容器对象。
false 控件不是容器对象。

CFContainer 重载.

§ isFocus()

bool CFWidget::isFocus ( )

判断控件是否当前拥有焦点的控件。

返回
true 本控件为当前拥有焦点的控件。
false 本控件非当前拥有焦点的控件。

§ isSensitive()

bool CFWidget::isSensitive ( )

获取控件及其所在容器控件的可用状态

返回
true 控件及所在容器为可用状态。
false 控件或所在容器为不可用状态。

§ isVisible()

bool CFWidget::isVisible ( )

判断本控件以及控件所在容器(直到顶层容器)是否为可见状态。

该函数不会检查控件是否被遮挡。

返回
true 控件及其所在容器均为可见状态。
false 控件或其所在容器为不可见状态。
参见
getVisible(), setVisible()

§ listCssStyle()

virtual void CFWidget::listCssStyle ( )
virtual

查看样式列表

§ onRealObjectFinalize()

virtual void CFWidget::onRealObjectFinalize ( )
protectedvirtual

对象解除绑定前的回调函数。

若需要在类实例解除绑定前, 对使用类进行信号解除绑定或其它必要操作时,需要重写父类的 onRealObjectFinalize() 函数,
在子类继承并重写父类的 onRealObjectFinalize() 函数时,请在该函数返回前调用父类的 onRealObjectFinalize() 函数,以便
父类进行必要的操作。

重载 CFObject .

CFPlacesSidebar, CFListWidget, CFScrolledView, CFRange, CFMenuItem, CFMenuShell, CFSwitch, CFCheckButton, CFRadioButton , 以及 CFButton 重载.

§ onRealObjectInit()

virtual void CFWidget::onRealObjectInit ( )
protectedvirtual

对象绑定后进行初始化的回调函数。

在使用 setRealObject() 绑定对象实例后, 本回调函数即会被调用,
若需要在类实例绑定后, 对使用类进行信号绑定或其它必要操作时,需要重写父类的 onRealObjectInit() 函数,
在子类继承并重写父类的 onRealObjectInit() 函数时,请在其内部调用父类的 onRealObjectInit() 函数,以便
父类进行必要的操作。

重载 CFObject .

CFPlacesSidebar, CFListWidget, CFScrolledView, CFRange, CFMenuItem, CFMenuShell, CFSwitch, CFCheckButton, CFRadioButton, CFButton , 以及 CFEntry 重载.

§ queueDraw()

void CFWidget::queueDraw ( )

请求重新描画控件

与调用 queueDrawArea() 来请求描画控件整个区域的效果一样。

§ queueDrawArea()

void CFWidget::queueDrawArea ( int  x,
int  y,
int  width,
int  height 
)

请求重新描画的指定区域

重新描画以(x, y)坐标起始,宽度为width, 高度为height所组成的矩形区域。

§ removeCssStyle()

virtual void CFWidget::removeCssStyle ( const Glib::ustring &  name)
virtual

通过样式名移除样式

参数
[in]name样式名

§ reparent()

void CFWidget::reparent ( CFWidget new_parent)

将控件从当前的容器中移动到 newParent 指定的容器中。

参数
[in]new_parent一个CFContainer类型的目标容器。

§ setCanFocus()

void CFWidget::setCanFocus ( bool  can_focus = true)

指定控件是否可以获取输入焦点。

参数
[in]can_focus控件是否可以拥有焦点。
参见
grabFocus()

§ setEvents()

void CFWidget::setEvents ( Gdk::EventMask  events)

设置控件的事件监听掩码。

事件监听掩码决定了控件会接收到哪些事件消息。
每个控件都可能有不同的默认事件监听掩码, 而
修改事件监听掩码可能会干扰控件的功能,所以请
小心使用。
该函数需要在控件未执行realized时被调用。可以
若控件已经执行完realized过程或想要保持已存在
的掩码, 请考虑使用控件的 add_events()。

该函数对于无窗口的控件无效, 因此这些控件若想要
监听/收取事件, 则需要将它们放到 CFEventBox 中,
并监听/收取 CFEventBox 的事件。

参数
[in]events需要监听/收取的事件掩码。

§ setHalign()

void CFWidget::setHalign ( CFAlign  align)

设置控件横向对齐方式。

参数
[in]align横向对齐方式。

§ setHasTooltip()

void CFWidget::setHasTooltip ( bool  has_tooltip = true)

设置是否使用提示信息。

参数
[in]has_tooltip是否使用提示信息。

§ setMarginBottom()

void CFWidget::setMarginBottom ( int  margin)

设置控件的下边距

参数
[in]margin下边距值,以像素为单位。

§ setMarginLeft()

void CFWidget::setMarginLeft ( int  margin)

设置控件的左边距

参数
[in]margin左边距值,以像素为单位。

§ setMarginRight()

void CFWidget::setMarginRight ( int  margin)

设置控件的右边距

参数
[in]margin右边距值,以像素为单位。

§ setMarginTop()

void CFWidget::setMarginTop ( int  margin)

设置控件的上边距

参数
[in]margin上边距值,以像素为单位。

§ setName()

void CFWidget::setName ( const Glib::ustring &  name)

设置控件的名称,以便于使用CSS文件来控制样式。

参数
[in]name控件的名称。

§ setSensitive()

void CFWidget::setSensitive ( bool  sensitive = true)

设置控件是否可用。

设置控件的可用状态, 若设置为不可用状态,则控件无法接收到各种事件消息, 并被置灰。

参数
[in]sensitive可用状态。

§ setSizeRequest()

void CFWidget::setSizeRequest ( int  width = -1,
int  height = -1 
)

设置控件的最小尺寸。

可以使用该函数设置控件最小尺寸。

大部分情况, 使用 CFWindow::setDefaultSize() 设置顶层窗口的大小更好;
设置其默认尺寸仍然允许缩小窗口。 使用该函数可以强制CFWindow 缩放时不会小于
width 和 height所指定的尺寸。当处理窗口尺寸时, CFWindow::setgeometryHints()
会更好用。

该函数参数指定了控件的最小尺寸。不过在一些特殊的情况,控件可能会被分配小于该尺寸, 但
在大部分情况下, 控件分配的尺寸会比该尺寸大。

参数
[in]width控件的最小宽度, -1 则取系统默认的最小宽度。
[in]height控件的最小高度, -1 则取系统默认的最小高度。

§ setTooltipMarkup()

void CFWidget::setTooltipMarkup ( const Glib::ustring &  markup)

设置提示信息的内容。

该函数markup参数,支持使用 Pango 文本标记语言格式的字符串。

参数
[in]markup提示信息的内容, 支持使用 Pango 文本标记语言格式的字符串。

§ setTooltipText()

void CFWidget::setTooltipText ( const Glib::ustring &  text)

设置提示信息的内容。

参数
[in]text提示信息的内容。

§ setValign()

void CFWidget::setValign ( CFAlign  align)

设置控件纵向对齐方式。

参数
[in]align纵向对齐方式。

§ setVisible()

void CFWidget::setVisible ( bool  visible = true)

设置控件的可见状态。

注解
设置为true, 不意味着控件会立刻可见,参照 getVisible().
该函数会调用 show()hide() , 但可以更好的在控件依赖某些条件才显示的情况下使用。
参数
[in]visible控件是否将被显示。

§ show()

void CFWidget::show ( )

显示控件。

任何控件不设为显示状态均不会被显示在屏幕上。如果想要显示容器控件中的所有控件
调用容器控件的 showAll() 会更方便。

在显示到屏幕之前, 必须要调用控件所在容器的 show() 方法。

当最顶层容器显示出来时,会立即执行 realized 和 mapped过程,然后才会执行其它控件
的 realized 和 mapped 过程。

§ showAll()

void CFWidget::showAll ( )

显示控件以及控件所容纳的所有控件(包括所容纳容器控件的所有子控件)


该类的文档由以下文件生成: