awtk/docs/manual/widget_factory_t.md

162 lines
4.6 KiB
Markdown
Raw Normal View History

2019-04-03 11:31:58 +08:00
## widget\_factory\_t
### 概述
2019-08-24 10:35:53 +08:00
![image](images/widget_factory_t_0.png)
2019-12-14 13:25:56 +08:00
控件工厂对象。
提供通过类型创建控件的能力。
用户注册自定义控件,可以获得内置控件同等待遇。
2019-04-03 11:31:58 +08:00
----------------------------------
### 函数
<p id="widget_factory_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#widget_factory_t_widget_factory">widget\_factory</a> | 获取缺省的控件工厂对象。 |
| <a href="#widget_factory_t_widget_factory_create">widget\_factory\_create</a> | 创建控件工厂对象。 |
| <a href="#widget_factory_t_widget_factory_create_widget">widget\_factory\_create\_widget</a> | 创建指定类型的控件。 |
| <a href="#widget_factory_t_widget_factory_destroy">widget\_factory\_destroy</a> | 析构并释放控件工厂对象。 |
| <a href="#widget_factory_t_widget_factory_register">widget\_factory\_register</a> | 注册控件创建函数。 |
2021-10-13 09:51:38 +08:00
| <a href="#widget_factory_t_widget_factory_register_multi">widget\_factory\_register\_multi</a> | 注册控件创建函数。 |
2019-04-03 11:31:58 +08:00
| <a href="#widget_factory_t_widget_factory_set">widget\_factory\_set</a> | 设置缺省的控件工厂对象。 |
#### widget\_factory 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="widget_factory_t_widget_factory">获取缺省的控件工厂对象。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
widget_factory_t* widget_factory ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | widget\_factory\_t* | 返回控件工厂对象。 |
#### widget\_factory\_create 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="widget_factory_t_widget_factory_create">创建控件工厂对象。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
widget_factory_t* widget_factory_create ();
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | widget\_factory\_t* | 返回控件工厂对象。 |
#### widget\_factory\_create\_widget 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="widget_factory_t_widget_factory_create_widget">创建指定类型的控件。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
2023-06-29 10:44:29 +08:00
widget_t* widget_factory_create_widget (widget_factory_t* factory, const char* type, widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h);
2019-04-03 11:31:58 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | widget\_t* | 返回控件对象。 |
| factory | widget\_factory\_t* | 控件工厂对象。 |
| type | const char* | 控件类型。 |
2023-06-29 10:44:29 +08:00
| parent | widget\_t* | 父控件。 |
2019-04-03 11:31:58 +08:00
| x | xy\_t | 初始X坐标。 |
| y | xy\_t | 初始Y坐标。 |
2023-06-29 10:44:29 +08:00
| w | wh\_t | 初始宽度。 |
| h | wh\_t | 初始高度。 |
2019-04-03 11:31:58 +08:00
#### widget\_factory\_destroy 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="widget_factory_t_widget_factory_destroy">析构并释放控件工厂对象。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
ret_t widget_factory_destroy (widget_factory_t* factory);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| factory | widget\_factory\_t* | 控件工厂对象。 |
#### widget\_factory\_register 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="widget_factory_t_widget_factory_register">注册控件创建函数。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
ret_t widget_factory_register (widget_factory_t* factory, const char* type, widget_create_t create);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| factory | widget\_factory\_t* | 控件工厂对象。 |
| type | const char* | 控件类型。 |
| create | widget\_create\_t | 创建函数。 |
2021-10-13 09:51:38 +08:00
#### widget\_factory\_register\_multi 函数
-----------------------
* 函数功能:
> <p id="widget_factory_t_widget_factory_register_multi">注册控件创建函数。
* 函数原型:
```
ret_t widget_factory_register_multi (widget_factory_t* factory, const general_factory_table_t* table);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| factory | widget\_factory\_t* | 控件工厂对象。 |
| table | const general\_factory\_table\_t* | 表。 |
2019-04-03 11:31:58 +08:00
#### widget\_factory\_set 函数
-----------------------
* 函数功能:
2019-11-15 11:33:43 +08:00
> <p id="widget_factory_t_widget_factory_set">设置缺省的控件工厂对象。
2019-10-16 09:02:32 +08:00
2019-04-03 11:31:58 +08:00
* 函数原型:
```
ret_t widget_factory_set (widget_factory_t* factory);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | ret\_t | 返回RET\_OK表示成功否则表示失败。 |
| factory | widget\_factory\_t* | 控件工厂对象。 |