forked from enlightenment/enlightenment
parent
455555b3ce
commit
b89043aa56
|
@ -0,0 +1,99 @@
|
|||
/*
|
||||
An simple example epplet that uses evas objects.
|
||||
Shows 8 buttons in the top right corner. Click on one to go to that deskop.
|
||||
Currently it won't notice if you change desktops by other methods, so it
|
||||
won't update.
|
||||
*/
|
||||
|
||||
uses Console, Array;
|
||||
|
||||
global {
|
||||
array desks;
|
||||
}
|
||||
|
||||
/* set up callback function */
|
||||
function downCB(object d, object ev, number b, number x, number y)
|
||||
{
|
||||
d.obj.setColor(255,255,255,255);
|
||||
}
|
||||
|
||||
function upCB(object d, object ev, number b, number x, number y)
|
||||
{
|
||||
number i;
|
||||
|
||||
e.flip_to_desktop(d.num);
|
||||
|
||||
/* dim all buttons that aren't this one */
|
||||
for(i = 0; i < Array.size(desks); i++)
|
||||
{
|
||||
if (i != d.num)
|
||||
{
|
||||
desks[i].obj.setColor(255,255,255,128);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class DesktopButton
|
||||
{
|
||||
object epp, obj;
|
||||
number num;
|
||||
|
||||
function DesktopButton(object e, number n)
|
||||
{
|
||||
self.epp = e;
|
||||
self.num = n;
|
||||
}
|
||||
|
||||
function setup()
|
||||
{
|
||||
|
||||
self.obj = new EvasObject(self.epp);
|
||||
self.obj.addImage(self.epp.getEppletDir() + "desktop.png");
|
||||
|
||||
self.obj.move(self.epp.getX() + (self.num % 4) * (self.obj.getW() + 5),
|
||||
self.epp.getY() + (self.num / 4) * (self.obj.getH() + 5));
|
||||
self.obj.setLayer(10000);
|
||||
self.obj.setColor(255, 255, 255, 128);
|
||||
self.obj.show();
|
||||
|
||||
self.obj.setCallback("CALLBACK_MOUSE_DOWN", "downCB", self);
|
||||
self.obj.setCallback("CALLBACK_MOUSE_UP", "upCB", self);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* main func */
|
||||
|
||||
/* declare vars */
|
||||
object epp;
|
||||
object bg;
|
||||
number i;
|
||||
|
||||
/* create a new epplet, required */
|
||||
epp = new Epplet();
|
||||
|
||||
/* move the epplet to the top right corner */
|
||||
epp.move(epp.getViewW() - 100, 0);
|
||||
epp.resize(200, 45);
|
||||
|
||||
|
||||
/* set up a transparent background to prevent menu popup */
|
||||
bg = new EvasObject(epp);
|
||||
bg.addRectangle();
|
||||
bg.move(epp.getX(), epp.getY());
|
||||
bg.resize(epp.getW(), epp.getH());
|
||||
bg.setLayer(9999);
|
||||
bg.setColor(255, 255, 255, 0);
|
||||
bg.show();
|
||||
|
||||
/* build DesktopButton's */
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
Console.println("in loop");
|
||||
desks[] = new DesktopButton(epp, i);
|
||||
desks[i].setup();
|
||||
}
|
||||
|
||||
/* highlight first desktop */
|
||||
desks[0].obj.setColor(255, 255, 255, 255);
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue