Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h Makefile.am arrange.c buttons.c config.c desktops.c eobj.h 
        ewins.c ewins.h menus.c slideout.c 
Added Files:
        buttons.h 


Log Message:
Button related cleanups.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.485
retrieving revision 1.486
diff -u -3 -r1.485 -r1.486
--- E.h 20 Aug 2005 17:43:33 -0000      1.485
+++ E.h 21 Aug 2005 13:21:47 -0000      1.486
@@ -333,7 +333,6 @@
 typedef struct _ditem DItem;
 typedef struct _snapshot Snapshot;
 typedef struct _group Group;
-typedef struct _button Button;
 typedef struct _background Background;
 typedef struct _ecursor ECursor;
 typedef struct _efont Efont;
@@ -485,6 +484,7 @@
    unsigned int        ref_count;
 };
 
+struct _button;
 typedef struct
 {
    EObj                o;
@@ -492,7 +492,7 @@
    char                viewable;
    char                dirty_stack;
    Background         *bg;
-   Button             *tag;
+   struct _button     *tag;
    int                 current_area_x;
    int                 current_area_y;
    long                event_mask;
@@ -1035,39 +1035,6 @@
                                       int bottom);
 void                BordersSetupFallback(void);
 
-/* buttons.c */
-int                 ButtonsConfigLoad(FILE * fs);
-Button             *ButtonCreate(const char *name, int id, ImageClass * ic,
-                                ActionClass * aclass, TextClass * tclass,
-                                const char *label, char ontop, int flags,
-                                int minw, int maxw, int minh, int maxh, int xo,
-                                int yo, int xa, int xr, int ya, int yr,
-                                int xsr, int xsa, int ysr, int ysa, char simg,
-                                int desk, char sticky);
-void                ButtonDestroy(Button * b);
-void                ButtonShow(Button * b);
-void                ButtonHide(Button * b);
-void                ButtonToggle(Button * b);
-void                ButtonDraw(Button * b);
-void                ButtonDrawWithState(Button * b, int state);
-void                ButtonMoveToDesktop(Button * b, int desk);
-void                ButtonMoveToCoord(Button * b, int x, int y);
-void                ButtonMoveRelative(Button * b, int dx, int dy);
-void                ButtonIncRefcount(Button * b);
-void                ButtonDecRefcount(Button * b);
-void                ButtonSwallowInto(Button * bi, EObj * eo);
-int                 ButtonGetRefcount(const Button * b);
-int                 ButtonGetDesk(const Button * b);
-int                 ButtonGetInfo(const Button * b, RectBox * r, int desk);
-Window              ButtonGetWin(const Button * b);
-int                 ButtonGetWidth(const Button * b);
-int                 ButtonGetHeight(const Button * b);
-int                 ButtonIsFixed(const Button * b);
-int                 ButtonIsInternal(const Button * b);
-int                 ButtonDoShowDefault(const Button * b);
-int                 ButtonEmbedWindow(Button * ButtonToUse,
-                                     Window WindowToEmbed);
-
 /* cmclass.c */
 #if ENABLE_COLOR_MODIFIERS
 void                CreateCurve(ModCurve * c);
@@ -1558,7 +1525,6 @@
 /* ipc.c */
 void __PRINTF__     IpcPrintf(const char *fmt, ...);
 int                 HandleIPC(const char *params, Client * c);
-void                ButtonIPC(int val, void *data);
 int                 EFunc(EWin * ewin, const char *params);
 
 /* lang.c */
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/Makefile.am,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -3 -r1.52 -r1.53
--- Makefile.am 20 Aug 2005 13:55:50 -0000      1.52
+++ Makefile.am 21 Aug 2005 13:21:47 -0000      1.53
@@ -26,6 +26,7 @@
        backgrounds.c           \
        borders.c               \
        buttons.c               \
+       buttons.h               \
        cmclass.c               \
        comms.c                 \
        conf.h                  \
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/arrange.c,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -3 -r1.79 -r1.80
--- arrange.c   7 Aug 2005 14:06:50 -0000       1.79
+++ arrange.c   21 Aug 2005 13:21:47 -0000      1.80
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "buttons.h"
 #include "ewins.h"
 
 static int
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/buttons.c,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -3 -r1.73 -r1.74
--- buttons.c   20 Aug 2005 17:43:33 -0000      1.73
+++ buttons.c   21 Aug 2005 13:21:47 -0000      1.74
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "buttons.h"
 #include "emodule.h"
 #include "tooltips.h"
 #include "xwin.h"
@@ -74,6 +75,30 @@
 
 static void         ButtonHandleEvents(XEvent * ev, void *btn);
 
+void
+ButtonIncRefcount(Button * b)
+{
+   b->ref_count++;
+}
+
+void
+ButtonDecRefcount(Button * b)
+{
+   b->ref_count--;
+}
+
+static int
+ButtonIsFixed(const Button * b)
+{
+   return b->flags & FLAG_FIXED;
+}
+
+static int
+ButtonIsInternal(const Button * b)
+{
+   return b->internal;
+}
+
 Button             *
 ButtonCreate(const char *name, int id, ImageClass * iclass,
             ActionClass * aclass, TextClass * tclass, const char *label,
@@ -229,6 +254,22 @@
    EoMoveResize(b, x, y, w, h);
 }
 
+static void
+ButtonDraw(Button * b)
+{
+   ITApply(EoGetWin(b), b->iclass, NULL, EoGetW(b), EoGetH(b),
+          b->state, 0, 0, 0, ST_BUTTON, b->tclass, NULL, b->label);
+}
+
+#if 0                          /* Unused */
+void
+ButtonDrawWithState(Button * b, int state)
+{
+   b->state = state;
+   ButtonDraw(b);
+}
+#endif
+
 void
 ButtonShow(Button * b)
 {
@@ -251,7 +292,7 @@
    EMapWindow(EoGetWin(b));
 }
 
-void
+static void
 ButtonMoveToDesktop(Button * b, int desk)
 {
    Desk               *d;
@@ -273,7 +314,7 @@
    EoUnmap(b);
 }
 
-void
+static void
 ButtonToggle(Button * b)
 {
    if (b->internal)
@@ -286,25 +327,11 @@
 }
 
 void
-ButtonDraw(Button * b)
-{
-   ITApply(EoGetWin(b), b->iclass, NULL, EoGetW(b), EoGetH(b),
-          b->state, 0, 0, 0, ST_BUTTON, b->tclass, NULL, b->label);
-}
-
-void
-ButtonDrawWithState(Button * b, int state)
-{
-   b->state = state;
-   ButtonDraw(b);
-}
-
-void
 ButtonMoveToCoord(Button * b, int x, int y)
 {
    int                 rx, ry, relx, rely, absx, absy;
 
-   if (b->flags & FLAG_FIXED)
+   if (ButtonIsFixed(b))
       return;
 
    if ((x + (EoGetW(b) >> 1)) < (VRoot.w / 3))
@@ -345,40 +372,10 @@
    ButtonMoveToCoord(b, EoGetX(b) + dx, EoGetY(b) + dy);
 }
 
-void
-ButtonIncRefcount(Button * b)
-{
-   b->ref_count++;
-}
-
-void
-ButtonDecRefcount(Button * b)
-{
-   b->ref_count--;
-}
-
-static const char  *
-ButtonGetName(const Button * b)
-{
-   return EoGetName(b);
-}
-
-int
-ButtonGetRefcount(const Button * b)
-{
-   return b->ref_count;
-}
-
-int
-ButtonGetDesk(const Button * b)
-{
-   return EoGetDesk(b);
-}
-
 int
 ButtonGetInfo(const Button * b, RectBox * r, int desk)
 {
-   if (!EoIsShown(b) || b->internal)
+   if (!EoIsShown(b) || ButtonIsInternal(b))
       return -1;
    if (!EoIsSticky(b) && EoGetDesk(b) != desk)
       return -1;
@@ -393,36 +390,6 @@
    return 0;
 }
 
-Window
-ButtonGetWin(const Button * b)
-{
-   return EoGetWin(b);
-}
-
-int
-ButtonGetWidth(const Button * b)
-{
-   return EoGetW(b);
-}
-
-int
-ButtonGetHeight(const Button * b)
-{
-   return EoGetH(b);
-}
-
-int
-ButtonIsFixed(const Button * b)
-{
-   return b->flags & FLAG_FIXED;
-}
-
-int
-ButtonIsInternal(const Button * b)
-{
-   return b->internal;
-}
-
 int
 ButtonDoShowDefault(const Button * b)
 {
@@ -487,6 +454,25 @@
    autosave();
 }
 
+void
+ButtonsMoveStickyToDesk(int desk)
+{
+   Button            **lst, *btn;
+   int                 i, num;
+
+   lst = (Button **) ListItemType(&num, LIST_TYPE_BUTTON);
+   for (i = 0; i < num; i++)
+     {
+       btn = lst[i];
+       if (!EoIsSticky(btn) || ButtonIsInternal(btn))
+          continue;
+
+       ButtonMoveToDesktop(btn, desk);
+     }
+   if (lst)
+      Efree(lst);
+}
+
 /*
  * Button event handlers
  */
@@ -519,7 +505,7 @@
    b->state = STATE_CLICKED;
    ButtonDraw(b);
 
-   if (!b->internal)
+   if (!ButtonIsInternal(b))
      {
        ActionClass        *ac;
 
@@ -1062,9 +1048,9 @@
        lst = (Button **) ListItemType(&num, LIST_TYPE_BUTTON);
        for (i = 0; i < num; i++)
          {
-            if (matchregexp(ss, ButtonGetName(lst[i])))
+            if (matchregexp(ss, EoGetName(lst[i])))
               {
-                 if (strcmp(ButtonGetName(lst[i]),
+                 if (strcmp(EoGetName(lst[i]),
                             "_DESKTOP_DESKRAY_DRAG_CONTROL"))
                     ButtonToggle(lst[i]);
               }
@@ -1081,9 +1067,9 @@
        lst = (Button **) ListItemTypeID(&num, LIST_TYPE_BUTTON, 0);
        for (i = 0; i < num; i++)
          {
-            if (!matchregexp(ss, ButtonGetName(lst[i])))
+            if (!matchregexp(ss, EoGetName(lst[i])))
               {
-                 if (strcmp(ButtonGetName(lst[i]),
+                 if (strcmp(EoGetName(lst[i]),
                             "_DESKTOP_DESKRAY_DRAG_CONTROL"))
                     ButtonToggle(lst[i]);
               }
@@ -1096,7 +1082,7 @@
        lst = (Button **) ListItemType(&num, LIST_TYPE_BUTTON);
        for (i = 0; i < num; i++)
          {
-            if (strcmp(ButtonGetName(lst[i]), "_DESKTOP_DESKRAY_DRAG_CONTROL"))
+            if (strcmp(EoGetName(lst[i]), "_DESKTOP_DESKRAY_DRAG_CONTROL"))
                ButtonToggle(lst[i]);
          }
        if (lst)
@@ -1138,7 +1124,7 @@
             IpcPrintf("%#lx %2d %2d %2d %5d+%5d %5dx%5d %s\n",
                       EoGetWin(b), EoGetDesk(b), EoIsSticky(b), EoGetLayer(b),
                       EoGetX(b), EoGetY(b), EoGetW(b), EoGetH(b),
-                      ButtonGetName(lst[i]));
+                      EoGetName(lst[i]));
          }
        if (lst)
           Efree(lst);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/config.c,v
retrieving revision 1.135
retrieving revision 1.136
diff -u -3 -r1.135 -r1.136
--- config.c    20 Aug 2005 13:55:50 -0000      1.135
+++ config.c    21 Aug 2005 13:21:47 -0000      1.136
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "buttons.h"
 #include "conf.h"
 #include "tooltips.h"
 #include <ctype.h>
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.170
retrieving revision 1.171
diff -u -3 -r1.170 -r1.171
--- desktops.c  20 Aug 2005 19:48:50 -0000      1.170
+++ desktops.c  21 Aug 2005 13:21:48 -0000      1.171
@@ -22,11 +22,12 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
-#include <time.h>
+#include "buttons.h"
 #include "emodule.h"
 #include "ewins.h"
 #include "tooltips.h"
 #include "xwin.h"
+#include <time.h>
 
 #define EDESK_EVENT_MASK \
   (ButtonPressMask | ButtonReleaseMask | \
@@ -308,35 +309,35 @@
 }
 
 static void
-DeskControlsDestroy(Desk * d)
+DeskControlsDestroy(Desk * d, int id)
 {
    Button            **blst;
    int                 num, i;
 
-   blst = (Button **) ListItemTypeID(&num, LIST_TYPE_BUTTON, 1);
-   if (blst)
-     {
-       for (i = 0; i < num; i++)
-          if (ButtonGetDesk(blst[i]) == d->num)
-             ButtonDestroy(blst[i]);
-       Efree(blst);
-     }
+   blst = (Button **) ListItemTypeID(&num, LIST_TYPE_BUTTON, id);
+   if (!blst)
+      return;
+
+   for (i = 0; i < num; i++)
+      if (EobjGetDesk((EObj *) (blst[i])) == d->num)
+        ButtonDestroy(blst[i]);
+   Efree(blst);
 }
 
 static void
-DeskControlsShow(Desk * d)
+DeskControlsShow(Desk * d, int id)
 {
    Button            **blst;
    int                 num, i;
 
-   blst = (Button **) ListItemTypeID(&num, LIST_TYPE_BUTTON, 1);
-   if (blst)
-     {
-       for (i = 0; i < num; i++)
-          if (ButtonGetDesk(blst[i]) == d->num)
-             ButtonShow(blst[i]);
-       Efree(blst);
-     }
+   blst = (Button **) ListItemTypeID(&num, LIST_TYPE_BUTTON, id);
+   if (!blst)
+      return;
+
+   for (i = 0; i < num; i++)
+      if (EobjGetDesk((EObj *) (blst[i])) == d->num)
+        ButtonShow(blst[i]);
+   Efree(blst);
 }
 
 static void
@@ -372,7 +373,7 @@
    unsigned int        rnd;
 
    DeskControlsCreate(d);
-   DeskControlsShow(d);
+   DeskControlsShow(d, 1);
 
    bg = desks.bg[d->num];
    if (bg)
@@ -443,33 +444,12 @@
 static void
 DeskDestroy(Desk * d)
 {
-   Button            **blst;
-   int                 num, i;
-
-   if (d->num <= 0)
-      return;
-
    ModulesSignal(ESIGNAL_DESK_REMOVED, ((void *)(long)(d->num)));
 
    EventCallbackUnregister(EoGetWin(d), 0, DesktopHandleEvents, d);
 
-   blst = (Button **) ListItemTypeID(&num, LIST_TYPE_BUTTON, 1);
-   for (i = 0; i < num; i++)
-     {
-       if (ButtonGetDesk(blst[i]) == d->num)
-          ButtonDestroy(blst[i]);
-     }
-   if (blst)
-      Efree(blst);
-
-   blst = (Button **) ListItemTypeID(&num, LIST_TYPE_BUTTON, 2);
-   for (i = 0; i < num; i++)
-     {
-       if (ButtonGetDesk(blst[i]) == d->num)
-          ButtonDestroy(blst[i]);
-     }
-   if (blst)
-      Efree(blst);
+   DeskControlsDestroy(d, 1);
+   DeskControlsDestroy(d, 2);
 
    if (d->bg)
       BackgroundDecRefcount(d->bg);
@@ -500,9 +480,9 @@
      }
    BackgroundPixmapFree(d->bg);
    DeskRefresh(d->num);
-   DeskControlsDestroy(d);
+   DeskControlsDestroy(d, 1);
    DeskControlsCreate(d);
-   DeskControlsShow(d);
+   DeskControlsShow(d, 1);
 }
 
 Desk               *
@@ -712,7 +692,7 @@
    int                 i;
 
    for (i = 0; i < Conf.desks.num; i++)
-      DeskControlsDestroy(_DeskGet(i));
+      DeskControlsDestroy(_DeskGet(i), 1);
 }
 
 static void
@@ -721,7 +701,7 @@
    int                 i;
 
    for (i = 0; i < Conf.desks.num; i++)
-      DeskControlsShow(_DeskGet(i));
+      DeskControlsShow(_DeskGet(i), 1);
 }
 
 static void
@@ -921,48 +901,6 @@
 }
 
 static void
-MoveStickyWindowsToCurrentDesk(void)
-{
-   Desk               *d;
-   EWin               *const *lst, *ewin;
-   int                 i, num, desk;
-
-   desk = DesksGetCurrent();
-   d = _DeskGet(desk);
-
-   lst = EwinListStackGet(&num);
-   for (i = 0; i < num; i++)
-     {
-       ewin = lst[i];
-       if (!EoIsSticky(ewin) && !EoIsFloating(ewin))
-          continue;
-       if (EwinIsTransientChild(ewin))
-          continue;
-
-       EwinMoveToDesktop(ewin, desk);
-     }
-}
-
-static void
-MoveStickyButtonsToCurrentDesk(void)
-{
-   Button            **lst, *btn;
-   int                 i, num;
-
-   lst = (Button **) ListItemType(&num, LIST_TYPE_BUTTON);
-   for (i = 0; i < num; i++)
-     {
-       btn = lst[i];
-       if (ButtonIsInternal(btn) || !EoIsSticky((EWin *) btn))
-          continue;
-
-       ButtonMoveToDesktop(btn, desks.current);
-     }
-   if (lst)
-      Efree(lst);
-}
-
-static void
 DesksStackingCheck(void)
 {
    Desk               *d;
@@ -1071,8 +1009,8 @@
           DeskHide(desks.order[i]);
      }
 
-   MoveStickyWindowsToCurrentDesk();
-   MoveStickyButtonsToCurrentDesk();
+   EwinsMoveStickyToDesk(d->num);
+   ButtonsMoveStickyToDesk(d->num);
    DesksStackingCheck();
    HintsSetCurrentDesktop();
 
@@ -1215,8 +1153,8 @@
    UncoverDesktop(desks.order[0]);
    DeskHide(desk);
 
-   MoveStickyWindowsToCurrentDesk();
-   MoveStickyButtonsToCurrentDesk();
+   EwinsMoveStickyToDesk(desks.current);
+   ButtonsMoveStickyToDesk(desks.current);
    DesksStackingCheck();
    FocusNewDesk();
    if (Mode.mode == MODE_NONE)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/eobj.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- eobj.h      20 Aug 2005 13:55:50 -0000      1.5
+++ eobj.h      21 Aug 2005 13:21:48 -0000      1.6
@@ -55,6 +55,13 @@
 #define EOBJ_TYPE_EVENT     4
 #define EOBJ_TYPE_EXT       5
 
+#define EobjGetWin(eo)          ((eo)->win)
+#define EobjGetDesk(eo)         ((eo)->desk)
+#define EobjGetX(eo)            ((eo)->x)
+#define EobjGetY(eo)            ((eo)->y)
+#define EobjGetW(eo)            ((eo)->w)
+#define EobjGetH(eo)            ((eo)->h)
+
 #define EoObj(eo)               (&((eo)->o))
 #define EoGetWin(eo)            ((eo)->o.win)
 #define EoGetName(eo)           ((eo)->o.name)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewins.c,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -3 -r1.98 -r1.99
--- ewins.c     20 Aug 2005 13:55:50 -0000      1.98
+++ ewins.c     21 Aug 2005 13:21:48 -0000      1.99
@@ -1620,6 +1620,25 @@
 }
 
 void
+EwinsMoveStickyToDesk(int desk)
+{
+   EWin               *const *lst, *ewin;
+   int                 i, num;
+
+   lst = EwinListStackGet(&num);
+   for (i = 0; i < num; i++)
+     {
+       ewin = lst[num - 1 - i];
+       if (!EoIsSticky(ewin) && !EoIsFloating(ewin))
+          continue;
+       if (EwinIsTransientChild(ewin))
+          continue;
+
+       EwinMoveToDesktop(ewin, desk);
+     }
+}
+
+void
 EwinsSetFree(void)
 {
    int                 i, num;
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewins.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- ewins.h     20 Aug 2005 13:55:50 -0000      1.8
+++ ewins.h     21 Aug 2005 13:21:48 -0000      1.9
@@ -263,6 +263,7 @@
 void                EwinsEventsConfigure(int mode);
 void                EwinsSetFree(void);
 void                EwinsShowDesktop(int on);
+void                EwinsMoveStickyToDesk(int desk);
 
 /* ewin-ops.c */
 void                SlideEwinTo(EWin * ewin, int fx, int fy, int tx, int ty,
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v
retrieving revision 1.210
retrieving revision 1.211
diff -u -3 -r1.210 -r1.211
--- menus.c     20 Aug 2005 13:55:51 -0000      1.210
+++ menus.c     21 Aug 2005 13:21:48 -0000      1.211
@@ -217,13 +217,6 @@
    ewin = m->ewin;
    if (ewin)
      {
-#if 0                          /* FIXME - Why? */
-       if ((Mode.button) &&
-           FindItem(Mode.button, 0, LIST_FINDBY_POINTER, LIST_TYPE_BUTTON))
-         {
-            ButtonDrawWithState(Mode.button, STATE_NORMAL);
-         }
-#endif
 #if 0                          /* ??? */
        RaiseEwin(ewin);
        ShowEwin(ewin);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/slideout.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- slideout.c  20 Aug 2005 17:43:33 -0000      1.39
+++ slideout.c  21 Aug 2005 13:21:48 -0000      1.40
@@ -22,6 +22,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 #include "E.h"
+#include "buttons.h"
 #include "emodule.h"
 #include "ewins.h"
 #include "xwin.h"
@@ -35,8 +36,8 @@
 {
    EObj                o;
    char                direction;
-   int                 num_buttons;
-   Button            **button;
+   int                 num_objs;
+   EObj              **objs;
    unsigned int        ref_count;
    EWin               *context_ewin;
 } Slideout;
@@ -170,9 +171,8 @@
        att.win_gravity = SouthEastGravity;
        EChangeWindowAttributes(EoGetWin(s), CWWinGravity, &att);
        att.win_gravity = NorthWestGravity;
-       for (i = 0; i < s->num_buttons; i++)
-          EChangeWindowAttributes(ButtonGetWin(s->button[i]),
-                                  CWWinGravity, &att);
+       for (i = 0; i < s->num_objs; i++)
+          EChangeWindowAttributes(EobjGetWin(s->objs[i]), CWWinGravity, &att);
        EoMoveResize(s, xx, yy, 1, 1);
        ESync();
        EoMap(s, 2);
@@ -183,9 +183,8 @@
        att.win_gravity = NorthWestGravity;
        EChangeWindowAttributes(EoGetWin(s), CWWinGravity, &att);
        att.win_gravity = SouthEastGravity;
-       for (i = 0; i < s->num_buttons; i++)
-          EChangeWindowAttributes(ButtonGetWin(s->button[i]),
-                                  CWWinGravity, &att);
+       for (i = 0; i < s->num_objs; i++)
+          EChangeWindowAttributes(EobjGetWin(s->objs[i]), CWWinGravity, &att);
        EoMoveResize(s, xx, yy, 1, 1);
        ESync();
        EoMap(s, 2);
@@ -196,9 +195,8 @@
        att.win_gravity = SouthEastGravity;
        EChangeWindowAttributes(EoGetWin(s), CWWinGravity, &att);
        att.win_gravity = NorthWestGravity;
-       for (i = 0; i < s->num_buttons; i++)
-          EChangeWindowAttributes(ButtonGetWin(s->button[i]),
-                                  CWWinGravity, &att);
+       for (i = 0; i < s->num_objs; i++)
+          EChangeWindowAttributes(EobjGetWin(s->objs[i]), CWWinGravity, &att);
        EoMoveResize(s, xx, yy, 1, 1);
        ESync();
        EoMap(s, 2);
@@ -209,9 +207,8 @@
        att.win_gravity = NorthWestGravity;
        EChangeWindowAttributes(EoGetWin(s), CWWinGravity, &att);
        att.win_gravity = SouthEastGravity;
-       for (i = 0; i < s->num_buttons; i++)
-          EChangeWindowAttributes(ButtonGetWin(s->button[i]),
-                                  CWWinGravity, &att);
+       for (i = 0; i < s->num_objs; i++)
+          EChangeWindowAttributes(EobjGetWin(s->objs[i]), CWWinGravity, &att);
        EoMoveResize(s, xx, yy, 1, 1);
        ESync();
        EoMap(s, 2);
@@ -255,10 +252,10 @@
    sh = 0;
    x = 0;
    y = 0;
-   for (i = 0; i < s->num_buttons; i++)
+   for (i = 0; i < s->num_objs; i++)
      {
-       bw = ButtonGetWidth(s->button[i]);
-       bh = ButtonGetHeight(s->button[i]);
+       bw = EobjGetW(s->objs[i]);
+       bh = EobjGetH(s->objs[i]);
 
        switch (s->direction)
          {
@@ -281,27 +278,27 @@
 
    EoResize(s, sw, sh);
 
-   for (i = 0; i < s->num_buttons; i++)
+   for (i = 0; i < s->num_objs; i++)
      {
-       bw = ButtonGetWidth(s->button[i]);
-       bh = ButtonGetHeight(s->button[i]);
+       bw = EobjGetW(s->objs[i]);
+       bh = EobjGetH(s->objs[i]);
 
        switch (s->direction)
          {
          case 2:
             y += bh;
-            EMoveWindow(ButtonGetWin(s->button[i]), (sw - bw) >> 1, sh - y);
+            EMoveWindow(EobjGetWin(s->objs[i]), (sw - bw) >> 1, sh - y);
             break;
          case 3:
-            EMoveWindow(ButtonGetWin(s->button[i]), (sw - bw) >> 1, y);
+            EMoveWindow(EobjGetWin(s->objs[i]), (sw - bw) >> 1, y);
             y += bh;
             break;
          case 0:
             x += bw;
-            EMoveWindow(ButtonGetWin(s->button[i]), sw - x, (sh - bh) >> 1);
+            EMoveWindow(EobjGetWin(s->objs[i]), sw - x, (sh - bh) >> 1);
             break;
          case 1:
-            EMoveWindow(ButtonGetWin(s->button[i]), x, (sh - bh) >> 1);
+            EMoveWindow(EobjGetWin(s->objs[i]), x, (sh - bh) >> 1);
             x += bw;
          default:
             break;
@@ -313,14 +310,16 @@
 static void
 SlideoutAddButton(Slideout * s, Button * b)
 {
+   EObj               *eob = (EObj *) b;
+
    if (!b)
       return;
    if (!s)
       return;
 
-   s->num_buttons++;
-   s->button = Erealloc(s->button, sizeof(Button *) * s->num_buttons);
-   s->button[s->num_buttons - 1] = b;
+   s->num_objs++;
+   s->objs = Erealloc(s->objs, sizeof(EObj *) * s->num_objs);
+   s->objs[s->num_objs - 1] = eob;
    ButtonSwallowInto(b, EoObj(s));
    SlideoutCalcSize(s);
 }




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to