Version 2 issues: C code generation, preview

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Version 2 issues: C code generation, preview

294 次查看
poldo
Contributor I

Hi!

I started testing GUI Guider version 2, and I found a couple of issues (starting with an empty template, Windows simulator).

I started defining the content of the top layer putting an image button, creating an event handler to switch state when the button is long pressed.

The generated the code has some errors, like:

gg_event_layer_top.c:
  static void lv_layer_top()_event_handler(lv_event_t * e) {
    ...
  }

void gg_event_init_layer_top(gg_ui_t * ui
  lv_obj_add_event_cb(ui->layer_top.lv_layer_top(),  lv_layer_top()_event_handler, LV_EVENT_ALL, ui);

 

(parenthesis create a parsing error)

Manually removing the parenthesis, the error below is generated:


.../generated/events/gg_event_layer_top.c:59:38: error: 'gg_layer_top_t' has no member named 'lv_layer_top'

(gg_layer_top_t definition doesn't include that member)

Am I missing some definition to make a correct generation of those functions?

 

0 项奖励
回复
4 回复数

18 次查看
poldo
Contributor I

Hi @Harry_Zhang .

 

The issue is when you create objects on the top layr. I'm attaching my file for your review and test.

0 项奖励
回复

210 次查看
poldo
Contributor I

Hi @Harry_Zhang , thank you for your reply.

This is what I did:

- On layer_top (clickable flag added, is this necessary?) I created a container for my buttons (no clickable flag added) 
- Inside the container I created an image button (clickable flag added) 
- I attached the event "Long Pressed" to the button

poldo_0-1784023768341.png

Generated code contains the syntax errors above.

// In gg_event_layer_top.c
static void lv_layer_top()_event_handler(lv_event_t * e)
{
    gg_ui_t * ui = lv_event_get_user_data(e);

    lv_event_code_t code = lv_event_get_code(e);

    switch(code) {

        default:
            break;
    }
}

void gg_event_init_layer_top(gg_ui_t * ui)
{
    lv_obj_add_event_cb(ui->layer_top.lv_layer_top(), lv_layer_top()_event_handler, LV_EVENT_ALL, ui);
    lv_obj_add_event_cb(ui->layer_top.Keypad_btnEnable, Keypad_btnEnable_event_handler, LV_EVENT_ALL, ui);
}

 

Removing the parenthesis the syntax error is about the member lv_layer_top not existing:

 

// In custom.h
typedef struct {

    lv_obj_t * Keypad;
    lv_obj_t * Keypad_btnEnable;
} gg_layer_top_t;

BR

Poldo

0 项奖励
回复

181 次查看
Harry_Zhang
NXP Employee
NXP Employee

Hi @poldo 

I tried to reproduce this issue.

Harry_Zhang_0-1784102463813.png

The generated code is correct.

Harry_Zhang_1-1784102495298.png

May I ask what I missed?

BR

Harry

0 项奖励
回复

236 次查看
Harry_Zhang
NXP Employee
NXP Employee

Hi @poldo 

May i ask how can i reproduce this issue?

Harry_Zhang_0-1783917409079.png

BR

Harry

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2393831%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E7%89%88%E6%9C%AC%202%20%E9%97%AE%E9%A2%98%EF%BC%9AC%20%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90%E3%80%81%E9%A2%84%E8%A7%88%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2393831%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%81%3C%2FP%3E%3CP%3E%E6%88%91%E5%BC%80%E5%A7%8B%E6%B5%8B%E8%AF%95%20GUI%20Guider%20%E7%89%88%E6%9C%AC%202%EF%BC%8C%E5%8F%91%E7%8E%B0%E4%BA%86%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98%EF%BC%88%E4%BB%8E%E7%A9%BA%E7%99%BD%E6%A8%A1%E6%9D%BF%E5%92%8C%20Windows%20%E6%A8%A1%E6%8B%9F%E5%99%A8%E5%BC%80%E5%A7%8B%EF%BC%89%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E5%BC%80%E5%A7%8B%E5%AE%9A%E4%B9%89%E9%A1%B6%E5%B1%82%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%8C%E6%B7%BB%E5%8A%A0%E4%BA%86%E4%B8%80%E4%B8%AA%E5%9B%BE%E5%83%8F%E6%8C%89%E9%92%AE%EF%BC%8C%E5%B9%B6%E5%88%9B%E5%BB%BA%E4%BA%86%E4%B8%80%E4%B8%AA%E4%BA%8B%E4%BB%B6%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%8C%E4%BB%A5%E4%BE%BF%E5%9C%A8%E9%95%BF%E6%8C%89%E6%8C%89%E9%92%AE%E6%97%B6%E5%88%87%E6%8D%A2%E7%8A%B6%E6%80%81%E3%80%82%3C%2FP%3E%3CP%3E%E7%94%9F%E6%88%90%E7%9A%84%E4%BB%A3%E7%A0%81%E5%AD%98%E5%9C%A8%E4%B8%80%E4%BA%9B%E9%94%99%E8%AF%AF%EF%BC%8C%E4%BE%8B%E5%A6%82%EF%BC%9A%3C%2FP%3E%3CP%3E%3CFONT%20face%3D%22courier%20new%2Ccourier%22%3Egg_event_layer_top.c%EF%BC%9A%3CBR%20%2F%3E%3C%2FFONT%3E%20%3CSPAN%3Estatic%20void%20lv_layer_top()_event_handler(lv_event_t%20*%20e)%20%7B%3CBR%20%2F%3E%20...%3CBR%20%2F%3E%3C%2FSPAN%3E%20%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CFONT%20face%3D%22courier%20new%2Ccourier%22%3E%3CSPAN%3Evoid%3C%2FSPAN%3E%20%3CSPAN%3Egg_event_init_layer_top%3C%2FSPAN%3E%20%3CSPAN%3E(%3C%2FSPAN%3E%20%3CSPAN%3Egg_ui_t%3C%2FSPAN%3E%20%3CSPAN%3E*%3C%2FSPAN%3E%20%3CSPAN%3Eui%3C%2FSPAN%3E%3CSPAN%3E%3CLI-EMOJI%20id%3D%22lia_disappointed-face%22%20title%3D%22%3Adisappointed_face%3A%22%3E%3C%2FLI-EMOJI%3E%3C%2FSPAN%3E%3C%2FFONT%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%3CFONT%20face%3D%22courier%20new%2Ccourier%22%3Elv_obj_add_event_cb(ui-%26gt%3Blayer_top.lv_layer_top()%2C%20lv_layer_top()_event_handler%2C%20LV_EVENT_ALL%2C%20ui)%3B%3C%2FFONT%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CP%3E%EF%BC%88%E6%8B%AC%E5%8F%B7%E4%BC%9A%E5%AF%BC%E8%87%B4%E8%A7%A3%E6%9E%90%E9%94%99%E8%AF%AF%EF%BC%89%3C%2FP%3E%3CP%3E%E6%89%8B%E5%8A%A8%E5%88%A0%E9%99%A4%E6%8B%AC%E5%8F%B7%E5%90%8E%EF%BC%8C%E4%BC%9A%E5%87%BA%E7%8E%B0%E4%BB%A5%E4%B8%8B%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%3CFONT%20face%3D%22courier%20new%2Ccourier%22%3E...%2Fgenerated%2Fevents%2Fgg_event_layer_top.c%3A59%3A38%3A%20%E9%94%99%E8%AF%AF%EF%BC%9A'gg_layer_top_t'%20%E6%B2%A1%E6%9C%89%E5%90%8D%E4%B8%BA%20'lv_layer_top'%20%E7%9A%84%E6%88%90%E5%91%98%3C%2FFONT%3E%3C%2FP%3E%3CP%3E%EF%BC%88gg_layer_top_t%20%E5%AE%9A%E4%B9%89%E4%B8%AD%E4%B8%8D%E5%8C%85%E5%90%AB%E8%AF%A5%E6%88%90%E5%91%98%EF%BC%89%3C%2FP%3E%3CP%3E%E6%88%91%E6%98%AF%E5%90%A6%E9%81%97%E6%BC%8F%E4%BA%86%E6%9F%90%E4%BA%9B%E5%AE%9A%E4%B9%89%EF%BC%8C%E5%AF%BC%E8%87%B4%E6%97%A0%E6%B3%95%E6%AD%A3%E7%A1%AE%E7%94%9F%E6%88%90%E8%BF%99%E4%BA%9B%E5%87%BD%E6%95%B0%EF%BC%9F%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2394166%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Version%202%20issues%3A%20C%20code%20generation%2C%20preview%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2394166%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F259294%22%20target%3D%22_blank%22%3E%40poldo%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E9%97%AE%E5%A6%82%E4%BD%95%E9%87%8D%E7%8E%B0%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%9F%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Harry_Zhang_0-1783917409079.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Harry_Zhang_0-1783917409079.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Harry_Zhang_0-1783917409079.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Harry_Zhang_0-1783917409079.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F392057i73C2A06D3F68C4FA%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Harry_Zhang_0-1783917409079.png%22%20alt%3D%22Harry_Zhang_0-1783917409079.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E5%93%88%E9%87%8C%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2394874%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Version%202%20issues%3A%20C%20code%20generation%2C%20preview%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2394874%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F229957%22%20target%3D%22_blank%22%3E%40Harry_Zhang%3C%2FA%3E%20%EF%BC%8C%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E8%BF%99%E6%A0%B7%E5%81%9A%E4%BA%86%EF%BC%9A%3C%2FP%3E%3CP%3E-%20%E5%9C%A8%20layer_top%20%E4%B8%8A%EF%BC%88%E6%B7%BB%E5%8A%A0%E4%BA%86%E5%8F%AF%E7%82%B9%E5%87%BB%E6%A0%87%E5%BF%97%EF%BC%8C%E8%BF%99%E6%98%AF%E5%BF%85%E8%A6%81%E7%9A%84%E5%90%97%EF%BC%9F%EF%BC%89%E6%88%91%E5%88%9B%E5%BB%BA%E4%BA%86%E4%B8%80%E4%B8%AA%E7%94%A8%E4%BA%8E%E6%94%BE%E7%BD%AE%E6%8C%89%E9%92%AE%E7%9A%84%E5%AE%B9%E5%99%A8%EF%BC%88%E6%B2%A1%E6%9C%89%E6%B7%BB%E5%8A%A0%E5%8F%AF%E7%82%B9%E5%87%BB%E6%A0%87%E5%BF%97%EF%BC%89%E3%80%82%3CBR%20%2F%3E%20%3CSPAN%3E-%20%E6%88%91%E5%9C%A8%E5%AE%B9%E5%99%A8%E5%86%85%E5%88%9B%E5%BB%BA%E4%BA%86%E4%B8%80%E4%B8%AA%E5%9B%BE%E5%83%8F%E6%8C%89%E9%92%AE%EF%BC%88%E6%B7%BB%E5%8A%A0%E4%BA%86%E5%8F%AF%E7%82%B9%E5%87%BB%E7%9A%84%E6%A0%87%E5%BF%97%EF%BC%89%3CBR%20%2F%3E%E6%88%91%E5%B7%B2%E5%B0%86%E2%80%9C%E9%95%BF%E6%8C%89%E2%80%9D%E4%BA%8B%E4%BB%B6%E9%99%84%E5%8A%A0%E5%88%B0%E6%8C%89%E9%92%AE%E4%B8%8A%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22poldo_0-1784023768341.png%22%20style%3D%22width%3A%20885px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22poldo_0-1784023768341.png%22%20style%3D%22width%3A%20885px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22poldo_0-1784023768341.png%22%20style%3D%22width%3A%20885px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F392226iBFF783192D285B94%2Fimage-dimensions%2F885x521%3Fv%3Dv2%22%20width%3D%22885%22%20height%3D%22521%22%20role%3D%22button%22%20title%3D%22poldo_0-1784023768341.png%22%20alt%3D%22poldo_0-1784023768341.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E7%94%9F%E6%88%90%E7%9A%84%E4%BB%A3%E7%A0%81%E5%8C%85%E5%90%AB%E4%B8%8A%E8%BF%B0%E8%AF%AD%E6%B3%95%E9%94%99%E8%AF%AF%E3%80%82%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%2F%2F%20In%20gg_event_layer_top.c%0Astatic%20void%20lv_layer_top()_event_handler(lv_event_t%20*%20e)%0A%7B%0A%20%20%20%20gg_ui_t%20*%20ui%20%3D%20lv_event_get_user_data(e)%3B%0A%0A%20%20%20%20lv_event_code_t%20code%20%3D%20lv_event_get_code(e)%3B%0A%0A%20%20%20%20switch(code)%20%7B%0A%0A%20%20%20%20%20%20%20%20default%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%7D%0A%7D%0A%0Avoid%20gg_event_init_layer_top(gg_ui_t%20*%20ui)%0A%7B%0A%20%20%20%20lv_obj_add_event_cb(ui-%26gt%3Blayer_top.lv_layer_top()%2C%20lv_layer_top()_event_handler%2C%20LV_EVENT_ALL%2C%20ui)%3B%0A%20%20%20%20lv_obj_add_event_cb(ui-%26gt%3Blayer_top.Keypad_btnEnable%2C%20Keypad_btnEnable_event_handler%2C%20LV_EVENT_ALL%2C%20ui)%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E5%8E%BB%E6%8E%89%E6%8B%AC%E5%8F%B7%E5%90%8E%EF%BC%8C%E8%AF%AD%E6%B3%95%E9%94%99%E8%AF%AF%E6%98%AF%E5%85%B3%E4%BA%8E%E6%88%90%E5%91%98%20lv_layer_top%20%E4%B8%8D%E5%AD%98%E5%9C%A8%E7%9A%84%EF%BC%9A%3C%2FP%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%2F%2F%20In%20custom.h%0Atypedef%20struct%20%7B%0A%0A%20%20%20%20lv_obj_t%20*%20Keypad%3B%0A%20%20%20%20lv_obj_t%20*%20Keypad_btnEnable%3B%0A%7D%20gg_layer_top_t%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3EBR%3C%2FP%3E%3CP%3E%E6%B3%A2%E5%B0%94%E5%A4%9A%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2395249%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Version%202%20issues%3A%20C%20code%20generation%2C%20preview%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2395249%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F259294%22%20target%3D%22_blank%22%3E%40poldo%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%88%91%E5%B0%9D%E8%AF%95%E9%87%8D%E7%8E%B0%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Harry_Zhang_0-1784102463813.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Harry_Zhang_0-1784102463813.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F392338i96865926C7C6EACF%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Harry_Zhang_0-1784102463813.png%22%20alt%3D%22Harry_Zhang_0-1784102463813.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E7%94%9F%E6%88%90%E7%9A%84%E4%BB%A3%E7%A0%81%E6%98%AF%E6%AD%A3%E7%A1%AE%E7%9A%84%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Harry_Zhang_1-1784102495298.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Harry_Zhang_1-1784102495298.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F392339i84E70EF53A84FFC9%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Harry_Zhang_1-1784102495298.png%22%20alt%3D%22Harry_Zhang_1-1784102495298.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E9%97%AE%E6%88%91%E9%94%99%E8%BF%87%E4%BA%86%E4%BB%80%E4%B9%88%EF%BC%9F%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E5%93%88%E9%87%8C%3C%2FP%3E%3C%2FLINGO-BODY%3E