123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #include "ftk.h"
- #include <time.h>
- #define IDC_TIME_ITEM 2000
- static Ret update_time(void* ctx)
- {
- char text[10] = {0};
- FtkWidget* item = NULL;
- FtkWidget* panel = NULL;
- time_t now = time(0);
- struct tm* t = localtime(&now);
- panel = ftk_default_status_panel();
- ftk_snprintf(text, sizeof(text)-1, "%2d:%2d", t->tm_hour, t->tm_min);
- item = ftk_widget_lookup(panel, IDC_TIME_ITEM);
- ftk_widget_set_text(item, text);
- ftk_logd("%s: %s\n", __func__, text);
- return RET_OK;
- }
- #ifdef FTK_AS_PLUGIN
- #include "ftk_app_demo.h"
- FTK_HIDE int FTK_MAIN(int argc, char* argv[]);
- FtkApp* ftk_app_demo_statusbar_create()
- {
- return ftk_app_demo_create(_("status_bar"), ftk_main);
- }
- #else
- #define FTK_HIDE extern
- #endif /*FTK_AS_PLUGIN*/
- FTK_HIDE int FTK_MAIN(int argc, char* argv[])
- {
- FtkSource* timer = NULL;
- FtkWidget* win = NULL;
- FtkWidget* item = NULL;
- FtkWidget* panel = NULL;
- FTK_INIT(argc, argv);
- /*create a time widget in statusbar.*/
- panel = ftk_default_status_panel();
- item = ftk_status_item_create(panel, -2, 60);
- ftk_widget_set_id(item, IDC_TIME_ITEM);
- ftk_widget_show(item, 1);
- win = ftk_app_window_create();
- ftk_widget_set_text(win, "Hello FTK!");
- ftk_widget_show(win, 1);
- FTK_QUIT_WHEN_WIDGET_CLOSE(win);
- update_time(NULL);
- timer = ftk_source_timer_create(60000, update_time, NULL);
- ftk_main_loop_add_source(ftk_default_main_loop(), timer);
- FTK_RUN();
- return 0;
- }
|