Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Ayuda con Python en superkaramba.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
Pablo S. Barrera
l33t
l33t


Joined: 16 May 2006
Posts: 642
Location: Mataderos. Argentina. America del Sur

PostPosted: Sun Aug 13, 2006 5:46 pm    Post subject: Ayuda con Python en superkaramba. Reply with quote

Hola. Estoy haciendo un theme superkaramba. He logrado muchas cosas sin tener conocimiento alguno. Luego aprendi un poco el lenguaje probando. Quiero agregar iconos que se agranden en el theme, esto seria usando Python. Al momento estoy basandome en un theme existente. Quisiera saber muchas cosas de este codigo que no comrprendo. Solamente me limito a preguntar si alguien sabe:
En que parte indica las x e y de los iconos y del fondo.
Esto no es tan sencillo como lo anterior. Me interesaria tambien algun tutorial sobre esto (no estoy por el momento interesado en aprender python aunque seria lo ideal lo haga)

les copio el codigo:

Code:
#this import statement allows access to the karamba functions
import karamba


images= [0,0,0,0,0,0,0,0]
imagesBig = [0,0,0,0,0,0,0,0]
imageFiles=[
    "pics/Tux_Terminal-64x64.png",
    "pics/Tux_Mozilla-64x64.png",
    "pics/Tux_Mail-64x64.png",
    "pics/Tux_House-64x64.png",
    "pics/MSN-64x64.png",
    "pics/Tux_iPhoto-64x64.png",
    "pics/ctrl center-64x64.png",
    "pics/Tux_Sherlock-64x64.png"
    ]
imageFilesBig=[
    "pics/Tux_Terminal-96x96.png",
    "pics/Tux_Mozilla-96x96.png",
    "pics/Tux_Mail-96x96.png",
    "pics/Tux_House-96x96.png",
    "pics/MSN-96x96.png",
    "pics/Tux_iPhoto-96x96.png",
    "pics/ctrl center-96x96.png",
    "pics/Tux_Sherlock-96x96.png"
    ]
pointerImageFile = "pics/pointer.png"
barimageFile = "pics/osxbarback.png"
barimage = 0
barimageBigFile = "pics/osxbarbackBi.png"
barimageBig = 0
init = 0
reset = 0
currZoomedPic = 0

def initWidget(widget):
    #buggy in current version
    pass

def widgetUpdated(widget):
    global images
    global imagesBig
#    global imageFiles
#    global imageFilesBig
#    global barimage
#    global barimageFile
#    global barimageBig
#    global barimageBigFile
#    global init
    if init == 0:
        barimage = karamba.createImage(widget, 0, 600 )
#        barimageBig = karamba.createImage(widget, 6, 150, barimageBigFile)

        for i in range(8):
            images[i] = karamba.createImage(widget, (i*65)+35+60, 72, imageFiles[i])
#            imagesBig[i] = karamba.createImage(widget, (i*65)+35+60, 150, imageFilesBig[i])
#            karamba.redrawWidget(widget)
            reset = 1
        init = 1

#This gets called everytime our widget is clicked.
#Notes:
#  widget = reference to our widget
#  x = x position (relative to our widget)
#  y = y position (relative to our widget)
#  botton = button clicked:
#                    1 = Left Mouse Button
#                    2 = Middle Mouse Button
#                    3 = Right Mouse Button, but this will never happen
#                        because the right mouse button brings up the
#                        Karamba menu.
def widgetClicked(widget, x, y, button):
    pass

#This gets called everytime our widget is clicked.
#Notes
#  widget = reference to our widget
#  x = x position (relative to our widget)
#  y = y position (relative to our widget)
#  botton = button being held:
#                    0 = No Mouse Button
#                    1 = Left Mouse Button
#                    2 = Middle Mouse Button
#                    3 = Right Mouse Button, but this will never happen
#                        because the right mouse button brings up the
#                        Karamba menu.
def widgetMouseMoved(widget, x, y, button):
    #Warning:  Don't do anything too intensive here
    #You don't want to run some complex piece of code everytime the mouse moves

    #NOTE:  I'm blatently ignoring my own warning ^^^ haha

    global images
    global imagesBig
    global imageFiles
    global imageFilesBig
    global barimage
    global barimageFile
    global barimageBig
    global barimageBigFile
    global init
    global currZoomedPic
    global reset

    if init == 0:
#ACA PARA EL FONFO
   barimage = karamba.createImage(widget, 60, 62, barimageFile)
        barimageBig = karamba.createImage(widget, 6, 150, barimageBigFile)
        for i in range(8):
            images[i] = karamba.createImage(widget, (i*65)+35+60, 72, imageFiles[i])
            imagesBig[i] = karamba.createImage(widget, (i*65)+35+60, 150, imageFilesBig[i])
            karamba.redrawWidget(widget)
            reset = 1
        init = 1

    if init == 1:
        iconNum = -1

        if ((x < 5) or (x > 515)) and reset == 0:
            for i in range (0,8):
                karamba.moveImage(widget, images[i], (i*65)+35+60, 72)
                karamba.moveImage(widget, imagesBig[i], (i*65)+35+60, 150)
                karamba.moveImage(widget, barimage, 60, 62)               
                karamba.moveImage(widget, barimageBig, 6, 150)               
            karamba.redrawWidget(widget)
            reset = 1
        elif ((y < 38) or (y > 144)) and reset == 0:
            for i in range (0,8):
                karamba.moveImage(widget, images[i], (i*65)+35+60, 72)
                karamba.moveImage(widget, imagesBig[i], (i*65)+35+60, 150)
                karamba.moveImage(widget, barimage, 60, 62)               
                karamba.moveImage(widget, barimageBig, 6, 150)               
            karamba.redrawWidget(widget)
            reset = 1
        elif (x >= 95)  and ((y >= 38) and (y <= 144)):
            iconNum = (x - 95) / 65
            offset = (x - 95) % 65
            reset = 1
            if ( -1 < iconNum < 8):
                if (iconNum != currZoomedPic) or (reset == 1):
                    karamba.moveImage(widget, barimage, 60, 160)               
                    karamba.moveImage(widget, barimageBig, 6, 62)               

                    reset = 0
                    karamba.moveImage(widget, images[currZoomedPic], (currZoomedPic*65)+35+60, 10)
                    karamba.moveImage(widget, imagesBig[currZoomedPic], (currZoomedPic*65)+35+60, 150)
                    if currZoomedPic != 0:
                        karamba.resizeImage(widget, imagesBig[currZoomedPic-1], 96, 96)
                        karamba.moveImage(widget, imagesBig[currZoomedPic-1], ((currZoomedPic-1)*65)+35+60, 150)
                        karamba.moveImage(widget, images[currZoomedPic-1], ((currZoomedPic-1)*65)+35+60, 42)
                    if currZoomedPic != 7:
                        karamba.resizeImage(widget, imagesBig[currZoomedPic+1], 96, 96)
                        karamba.moveImage(widget, imagesBig[currZoomedPic+1], ((currZoomedPic+1)*65)+35+60, 150)
                        karamba.moveImage(widget, images[currZoomedPic+1], ((currZoomedPic+1)*65)+35+60, 42)
                       
                    if offset < 36:   
                        karamba.resizeImage(widget, imagesBig[iconNum], 128-(35-(offset/2)), 128-(35-(offset/2)))
                        karamba.moveImage(widget, imagesBig[iconNum], (((iconNum+1)*65)+60+35+(70-offset)+((iconNum-1)*65)+60+35-(offset))/2, 45-((offset/2)))
                    else:
                        karamba.resizeImage(widget, imagesBig[iconNum], 128-(offset/2), 128-(offset/2))
                        karamba.moveImage(widget, imagesBig[iconNum], (((iconNum+1)*65)+60+35+(70-offset)+((iconNum-1)*65)+60+35-(offset))/2, 52-(42-(offset/2)))
                       
                    karamba.moveImage(widget, images[iconNum], (iconNum*65)+60+35, 150)
                    if iconNum != 0:
                        karamba.resizeImage(widget, imagesBig[iconNum-1], 96-(offset/2), 96-(offset/2))
                        karamba.moveImage(widget, imagesBig[iconNum-1], 60+((iconNum-1)*65)-(offset/2), 40+(offset/2))
                        karamba.moveImage(widget, images[iconNum-1], ((iconNum-1)*65)+35+60, 150)
                        for i in range (0, iconNum-1):
                            karamba.moveImage(widget, images[i], ((i)*65)-35+60, 72)
                           
                    if iconNum != 7:
                        karamba.resizeImage(widget, imagesBig[iconNum+1], 96-(35-(offset/2)), 96-(35-(offset/2)))
                        karamba.moveImage(widget, imagesBig[iconNum+1], 60+((iconNum+1)*65)+70 +35 -(offset/2), 40+35-(offset/2))
                        karamba.moveImage(widget, images[iconNum+1], ((iconNum+1)*65)+35+60, 150)
                        for i in range (iconNum+2, 8):
                            karamba.moveImage(widget, images[i], ((i)*65)+65+35+60, 72)
                    karamba.redrawWidget(widget)
                currZoomedPic = iconNum

               
# This will be printed when the widget loads.
print "Loaded my python extension!"



Muchas Gracias.
Back to top
View user's profile Send private message
opotonil
l33t
l33t


Joined: 17 Jun 2005
Posts: 801
Location: 127.0.0.1

PostPosted: Mon Aug 14, 2006 1:18 pm    Post subject: Reply with quote

Hola,

Yo tampoco tengo ni idea de python, pero bueno me he hecho mi temita para controlar la red y especialmente la wireless ya que no habia ninguno que me gustara y la verdad es que no se encuentra mucha documentacion...

Aqui tienes las instrucciones basicas para construir un .py para el tema.
http://netdragon.sourceforge.net/sbasic.html

Aqui la API de superkaramba para python
http://netdragon.sourceforge.net/api.html

En cuanto al la posicion y tamaño del fondo se suele indicar en el .theme, por lo que he visto, y no en el .py. Por otro lado la X e Y de los iconos en principio son el parametro 2 y 3 de cada createImage y bueno en los moveImage y resizeImage imagino que tambien se utilice... asi que lo mejor es hecharle un ojo a la API.

salu2.

PD: Informacion interesante para creadores de temas, como sobre el .theme, aqui: http://netdragon.sourceforge.net/sinfo.html
Back to top
View user's profile Send private message
Pablo S. Barrera
l33t
l33t


Joined: 16 May 2006
Posts: 642
Location: Mataderos. Argentina. America del Sur

PostPosted: Mon Aug 14, 2006 2:25 pm    Post subject: Reply with quote

Gracias! Podrias enviarme tu theme a mi direccion de correo?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum