Inwin docs. No example.
authorsachiel <sachiel@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 28 Jul 2011 12:11:14 +0000 (12:11 +0000)
committersachiel <sachiel@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 28 Jul 2011 12:11:14 +0000 (12:11 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@61852 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

doc/Makefile.am
doc/index.doxy
doc/widgets/Makefile.am
doc/widgets/widget_preview_inwin1.c [new file with mode: 0644]
doc/widgets/widget_preview_inwin2.c [new file with mode: 0644]
doc/widgets/widget_preview_inwin3.c [new file with mode: 0644]
src/lib/Elementary.h.in
src/lib/elm_win.c

index 5ad98d8..74706c2 100644 (file)
@@ -62,7 +62,10 @@ WGT_PREVIEW = \
        box:preview-00.png:widget_preview_box:200:160 \
        notify:preview-00.png:widget_preview_notify:60:30 \
        slideshow:preview-00.png:widget_preview_slideshow:50:50 \
-       photocam:preview-00.png:widget_preview_photocam:243:162
+       photocam:preview-00.png:widget_preview_photocam:243:162 \
+       inwin:preview-00.png:widget_preview_inwin1:200:160 \
+       inwin:preview-01.png:widget_preview_inwin2:200:160 \
+       inwin:preview-02.png:widget_preview_inwin3:200:160
 
 widget-build:
        @$(MAKE) -C widgets
index f47c294..7b3e615 100644 (file)
  * @image html img/widget/index/preview-00.png
  * @image latex img/widget/index/preview-00.eps
  * @li @ref Inwin
+ *
+ * @image html img/widget/inwin/preview-00.png
+ * @image latex img/widget/inwin/preview-00.eps
  * @li @ref Label
  *
  * @image html img/widget/label/preview-00.png
index b71d073..04bc511 100644 (file)
@@ -78,7 +78,10 @@ widget_preview_progressbar \
 widget_preview_box \
 widget_preview_notify \
 widget_preview_slideshow \
-widget_preview_photocam
+widget_preview_photocam \
+widget_preview_inwin1 \
+widget_preview_inwin2 \
+widget_preview_inwin3
 
 LDADD = $(top_builddir)/src/lib/libelementary.la @ELEMENTARY_EWEATHER_LIBS@ @ELEMENTARY_EDBUS_LIBS@ @ELEMENTARY_EFREET_LIBS@ @ELEMENTARY_EMAP_LIBS@ @ELEMENTARY_LIBS@ @EIO_LIBS@ @my_libs@
 
@@ -138,5 +141,8 @@ EXTRA_DIST = \
        widget_preview_notify.c \
        widget_preview_slideshow.c \
        widget_preview_photocam.c \
+       widget_preview_inwin1.c \
+       widget_preview_inwin2.c \
+       widget_preview_inwin3.c \
        widget_preview_tmpl_foot.c \
        widget_preview_tmpl_head.c
diff --git a/doc/widgets/widget_preview_inwin1.c b/doc/widgets/widget_preview_inwin1.c
new file mode 100644 (file)
index 0000000..a5195fe
--- /dev/null
@@ -0,0 +1,17 @@
+#include "widget_preview_tmpl_head.c"
+
+Evas_Object *inwin, *lbl;
+
+inwin = elm_win_inwin_add(win);
+evas_object_show(inwin);
+
+lbl = elm_label_add(win);
+elm_object_text_set(lbl, "The content of an inwin<ps>"
+                    "can be anything that<ps>"
+                    "may be shown in a popup.<ps><ps>"
+                    "This one we are in is<ps>"
+                    "using the <b>default</b> style.");
+elm_win_inwin_content_set(inwin, lbl);
+evas_object_show(lbl);
+
+#include "widget_preview_tmpl_foot.c"
diff --git a/doc/widgets/widget_preview_inwin2.c b/doc/widgets/widget_preview_inwin2.c
new file mode 100644 (file)
index 0000000..cdca363
--- /dev/null
@@ -0,0 +1,18 @@
+#include "widget_preview_tmpl_head.c"
+
+Evas_Object *inwin, *lbl;
+
+inwin = elm_win_inwin_add(win);
+elm_object_style_set(inwin, "minimal");
+evas_object_show(inwin);
+
+lbl = elm_label_add(win);
+elm_object_text_set(lbl, "The content of an inwin<ps>"
+                    "can be anything that<ps>"
+                    "may be shown in a popup.<ps><ps>"
+                    "This one we are in is<ps>"
+                    "using the <b>minimal</b> style.");
+elm_win_inwin_content_set(inwin, lbl);
+evas_object_show(lbl);
+
+#include "widget_preview_tmpl_foot.c"
diff --git a/doc/widgets/widget_preview_inwin3.c b/doc/widgets/widget_preview_inwin3.c
new file mode 100644 (file)
index 0000000..fc468b8
--- /dev/null
@@ -0,0 +1,18 @@
+#include "widget_preview_tmpl_head.c"
+
+Evas_Object *inwin, *lbl;
+
+inwin = elm_win_inwin_add(win);
+elm_object_style_set(inwin, "minimal_vertical");
+evas_object_show(inwin);
+
+lbl = elm_label_add(win);
+elm_object_text_set(lbl, "The content of an inwin<ps>"
+                    "can be anything that<ps>"
+                    "may be shown in a popup.<ps><ps>"
+                    "This one we are in is<ps>"
+                    "using the <b>minimal_vertical</b> style.");
+elm_win_inwin_content_set(inwin, lbl);
+evas_object_show(lbl);
+
+#include "widget_preview_tmpl_foot.c"
index 2258d98..d5eae27 100644 (file)
@@ -1714,15 +1714,106 @@ extern "C" {
 
    EAPI void                  elm_win_screen_position_get(const Evas_Object *obj, int *x, int *y) EINA_ARG_NONNULL(1);
 
+   /**
+    * @defgroup Inwin Inwin
+    *
+    * @image html img/widget/inwin/preview-00.png
+    * @image latex img/widget/inwin/preview-00.eps
+    * @image html img/widget/inwin/preview-01.png
+    * @image latex img/widget/inwin/preview-01.eps
+    * @image html img/widget/inwin/preview-02.png
+    * @image latex img/widget/inwin/preview-02.eps
+    *
+    * An inwin is a window inside a window that is useful for a quick popup.
+    * It does not hover.
+    *
+    * It works by creating an object that will occupy the entire window, so it
+    * must be created using an @ref Win "elm_win" as parent only. The inwin
+    * object can be hidden or restacked below every other object if it's
+    * needed to show what's behind it without destroying it. If this is done,
+    * the elm_win_inwin_activate() function can be used to bring it back to
+    * full visibility again.
+    *
+    * There are three styles available in the default theme. These are:
+    * @li default: The inwin is sized to take over most of the window it's
+    * placed in.
+    * @li minimal: The size of the inwin will be the minimum necessary to show
+    * its contents.
+    * @li minimal_vertical: Horizontally, the inwin takes as much space as
+    * possible, but it's sized vertically the most it needs to fit its\
+    * contents.
+    *
+    * @{
+    */
+   /**
+    * Adds an inwin to the current window
+    *
+    * The @p obj used as parent @b MUST be an @ref Win "Elementary Window".
+    * Never call this function with anything other than the top-most window
+    * as its parameter, unless you are fond of undefined behavior.
+    *
+    * After creating the object, the widget will set itself as resize object
+    * for the window with elm_win_resize_object_add(), so when shown it will
+    * appear to cover almost the entire window (how much of it depends on its
+    * content and the style used). It must not be added into other container
+    * objects and it needs not be moved or resized manually.
+    *
+    * @param parent The parent object
+    * @return The new object or NULL if it cannot be created
+    */
    EAPI Evas_Object          *elm_win_inwin_add(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Activates an inwin object, ensuring its visibility
+    *
+    * This function will make sure that the inwin @p obj is completely visible
+    * by calling evas_object_show() and evas_object_raise() on it, to bring it
+    * to the front. It also sets the keyboard focus to it, which will be passed
+    * onto its content.
+    *
+    * The object's theme will also receive the signal "elm,action,show" with
+    * source "elm".
+    *
+    * @param obj The inwin to activate
+    */
    EAPI void                  elm_win_inwin_activate(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Set the content of an inwin object.
+    *
+    * Once the content object is set, a previously set one will be deleted.
+    * If you want to keep that old content object, use the
+    * elm_win_inwin_content_unset() function.
+    *
+    * @param obj The inwin object
+    * @param content The object to set as content
+    */
    EAPI void                  elm_win_inwin_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   /**
+    * Get the content of an inwin object.
+    *
+    * Return the content object which is set for this widget.
+    *
+    * The returned object is valid as long as the inwin is still alive and no
+    * other content is set on it. Deleting the object will notify the inwin
+    * about it and this one will be left empty.
+    *
+    * If you need to remove an inwin's content to be reused somewhere else,
+    * see elm_win_inwin_content_unset().
+    *
+    * @param obj The inwin object
+    * @return The content that is being used
+    */
    EAPI Evas_Object          *elm_win_inwin_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   /**
+    * Unset the content of an inwin object.
+    *
+    * Unparent and return the content object which was set for this widget.
+    *
+    * @param obj The inwin object
+    * @return The content that was being used
+    */
    EAPI Evas_Object          *elm_win_inwin_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
-   /* available styles:
-    * default
-    * minimal
-    * minimal_vertical
+   /**
+    * @}
     */
    /* X specific calls - won't work on non-x engines (return 0) */
    EAPI Ecore_X_Window elm_win_xwindow_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
index 3a88b54..cdbdc7f 100644 (file)
@@ -3032,11 +3032,6 @@ _sub_del(void *data __UNUSED__, Evas_Object *obj, void *event_info)
      }
 }
 
-/**
- * @defgroup Inwin Inwin
- *
- * An inwin is a window inside a window that is useful for a quick popup.  It does not hover.
- */
 EAPI Evas_Object *
 elm_win_inwin_add(Evas_Object *obj)
 {
@@ -3073,13 +3068,6 @@ elm_win_inwin_add(Evas_Object *obj)
    return obj2;
 }
 
-/**
- * Activates an inwin object
- *
- * @param obj The inwin to activate
- *
- * @ingroup Inwin
- */
 EAPI void
 elm_win_inwin_activate(Evas_Object *obj)
 {
@@ -3092,18 +3080,6 @@ elm_win_inwin_activate(Evas_Object *obj)
    elm_object_focus(obj);
 }
 
-/**
- * Set the content of an inwin object.
- *
- * Once the content object is set, a previously set one will be deleted.
- * If you want to keep that old content object, use the
- * elm_win_inwin_content_unset() function.
- *
- * @param obj The inwin object
- * @param content The object to set as content
- *
- * @ingroup Inwin
- */
 EAPI void
 elm_win_inwin_content_set(Evas_Object *obj, Evas_Object *content)
 {
@@ -3123,16 +3099,6 @@ elm_win_inwin_content_set(Evas_Object *obj, Evas_Object *content)
    _sizing_eval(obj);
 }
 
-/**
- * Get the content of an inwin object.
- *
- * Return the content object which is set for this widget.
- *
- * @param obj The inwin object
- * @return The content that is being used
- *
- * @ingroup Inwin
- */
 EAPI Evas_Object *
 elm_win_inwin_content_get(const Evas_Object *obj)
 {
@@ -3142,16 +3108,6 @@ elm_win_inwin_content_get(const Evas_Object *obj)
    return wd->content;
 }
 
-/**
- * Unset the content of an inwin object.
- *
- * Unparent and return the content object which was set for this widget.
- *
- * @param obj The inwin object
- * @return The content that was being used
- *
- * @ingroup Inwin
- */
 EAPI Evas_Object *
 elm_win_inwin_content_unset(Evas_Object *obj)
 {