forked from enlightenment/efl
and beef up getting started with a longer example
SVN revision: 62287
This commit is contained in:
parent
3c6ec42179
commit
feeb08e54d
|
@ -50,18 +50,18 @@ organisations behind this, as listed in the @ref authors page.
|
|||
*
|
||||
* To write an Elementary app, you can get started with the following:
|
||||
*
|
||||
* @code
|
||||
* #include <Elementary.h>
|
||||
* EAPI int
|
||||
* elm_main(int argc, char **argv)
|
||||
* {
|
||||
* // create window(s) here and do any application init
|
||||
* elm_run(); // run main loop
|
||||
* elm_shutdown(); // after mainloop finishes running, shutdown
|
||||
* return 0; // exit 0 for exit code
|
||||
* }
|
||||
* ELM_MAIN()
|
||||
* @endcode
|
||||
@code
|
||||
#include <Elementary.h>
|
||||
EAPI int
|
||||
elm_main(int argc, char **argv)
|
||||
{
|
||||
// create window(s) here and do any application init
|
||||
elm_run(); // run main loop
|
||||
elm_shutdown(); // after mainloop finishes running, shutdown
|
||||
return 0; // exit 0 for exit code
|
||||
}
|
||||
ELM_MAIN()
|
||||
@endcode
|
||||
*
|
||||
* To use autotools (which helps in many ways in the long run, like being able
|
||||
* to immediately create releases of your software directly from your tree
|
||||
|
@ -176,7 +176,78 @@ make maintainer-clean
|
|||
* There is a more advanced way of making use of the quicklaunch infrastructure
|
||||
* in Elementary (which will not be covered here due to its more advanced
|
||||
* nature).
|
||||
*/
|
||||
*
|
||||
* Now let's actually create an interactive "Hello World" gui that you can
|
||||
* click the ok button to exit. It's more code because this now does something
|
||||
* much more significant, but it's still very simple:
|
||||
*
|
||||
@code
|
||||
#include <Elementary.h>
|
||||
|
||||
static void
|
||||
on_done(void *data, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
// quit the mainloop (elm_run function will return)
|
||||
elm_exit();
|
||||
}
|
||||
|
||||
EAPI int
|
||||
elm_main(int argc, char **argv)
|
||||
{
|
||||
Evas_Object *win, *bg, *box, *lab, *btn;
|
||||
|
||||
// new window - do the usual and give it a name, title and delete handler
|
||||
win = elm_win_add(NULL, "hello", ELM_WIN_BASIC);
|
||||
elm_win_title_set(win, "Hello");
|
||||
// when the user clicks "close" on a window there is a request to delete
|
||||
evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
|
||||
|
||||
// add a standard bg
|
||||
bg = elm_bg_add(win);
|
||||
// add object as a resize object for the window (controls window minimum
|
||||
// size as well as gets resized if window is resized)
|
||||
elm_win_resize_object_add(win, bg);
|
||||
evas_object_show(bg);
|
||||
|
||||
// add a box object - default is vertical. a box holds children in a row,
|
||||
// either horizontally or vertically. nothing more.
|
||||
box = elm_box_add(win);
|
||||
// make the box hotizontal
|
||||
elm_box_horizontal_set(box, EINA_TRUE);
|
||||
// add object as a resize object for the window (controls window minimum
|
||||
// size as well as gets resized if window is resized)
|
||||
elm_win_resize_object_add(win, box);
|
||||
evas_object_show(box);
|
||||
|
||||
// add a label widget, set the text and put it in the pad frame
|
||||
lab = elm_label_add(win);
|
||||
// set default text of the label
|
||||
elm_object_text_set(lab, "Hello out there world!");
|
||||
// pack the label at the end of the box
|
||||
elm_box_pack_end(box, lab);
|
||||
evas_object_show(lab);
|
||||
|
||||
// add an ok button
|
||||
btn = elm_button_add(win);
|
||||
// set default text of button to "OK"
|
||||
elm_object_text_set(btn, "OK");
|
||||
// pack the button at the end of the box
|
||||
elm_box_pack_end(box, btn);
|
||||
evas_object_show(btn);
|
||||
// call on_done when button is clicked
|
||||
evas_object_smart_callback_add(btn, "clicked", on_done, NULL);
|
||||
|
||||
// now we are done, show the window
|
||||
evas_object_show(win);
|
||||
|
||||
// run the mainloop and process events and callbacks
|
||||
elm_run();
|
||||
return 0;
|
||||
}
|
||||
ELM_MAIN()
|
||||
@endcode
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
@page authors Authors
|
||||
|
|
Loading…
Reference in New Issue