Plantilles en vim

Fa unes setmanes vaig llegir un interessant article penjat en Bulma.net sobre com tenir plantilles en vim.

Interessant perquè vim s’està convertint, a poc a poc, en l’editor predeterminat que vaig emprant per a programar en Python, deixant de banda altres editors més visuals però menys pràctics. Interessant perquè tots sabem com de molest és haver d’escriure sempre el mateix (capçalera, estructura, funcions predeterminades,…) en crear un nou fitxer.

No cal afegir res més a l’explicació que fa aaloy a l’apunt. Tan sols dir que si no creem el directori .vim al nostre home, no podrem instal.lar el plugin perquè ens donarà un error.

Una vegada instal.lat tan sols cal crear un fitxer de nom python a la carpeta ~/.vim/templates. Així cada vegada que obrim creem un nou fitxer amb extensió *.py se’ns obrirà la plantilla, i no haurem d’escriure sempre el mateix.

Ací us penge el meu:

#/usr/bin/env python
# -*- coding: utf-8 -*-

##-----------------------------------------------------------------------##
## *******.py Un programa per
##
##
## Copyright (C) 2006 Vicent Cubells i Peña
## All Rights Reserved.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; see the file COPYING.
## If not, write to the Free Software Foundation, Inc.,
## 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
##
## Vicent Cubells i Peña
##
## http://www.vcubells.net
##
##———————————————————————–##

import pygtk
pygtk.require(’2.0′)
import gtk

def main():
gtk.main()
return 0

if __name__ == “__main__”:

main()

# cursor: 5 del

Configuració

Comentaris (2)

Permalink

Gideon

Gràcies a la web gfiles.org m’he trobat amb un dissenyador d’interfícies anomenat Gideon.

És un RAD que et permet crear programes multiplataforma amb el mínim de codificació, cosa que pot ser d’ajuda per als programadors que tenen un poc de presses.

Semblant al programa Glade et permet comprovar i executar tots els widgets de la llibreria GTK+. Molt útil si estàs llegint un llibre de programació sobre pyGTK amb pocs exemples gràfics, ;-)

Té la particularitat que el format per a desar els fitxers és en format xml, la qual cosa et permet reutilitzar les interfícies en diverses aplicacions. Així, el fitxer finestra.gui es correspon amb el codi següent:

<?xml version=‘1.0′ encoding=‘UTF-8′?>
<gui namespace=‘GTK+’ version=‘8′>
        <entity name=‘window1′ type=‘GtkWindow’>
                <scalar name=‘as-container’ type=‘bool’>true</scalar>
                <scalar name=‘title’ type=’string’>Finestra</scalar>
        </entity>
</gui>

La versió que he provat és la 2.8, i en el meu Ubuntu Dapper he hagut de resoldre les dependències dels fitxers guiloader, guiloader-c++, gnome-vfs(libgnome-vfsmm-2.6-1c2a) i gtkmm (libgtkmm-2.4-dev) abans d’instal·lar el programa (els dos primers programes els podeu localitzar a la mateixa pàgina de descàrrega del programa).

I per acabar, un pantalla del programa en execució:

gideon.jpg

Pàgina del projecte: http://gideon.sourceforge.net
Pàgina de descàrrega amb els programes guiloader i guiloader-c++:
http://gideon.sourceforge.net/cgi-bin/wiki/Download
Blog del desenvolupador: http://gideon-designer.blogspot.com/

Entorns

Comentaris (0)

Permalink

Entendre l’empaquetat

A l’hora de posar distints elements (etiquetes, botons, etc…) en les caixes d’una finestra s’utilitzen els mètodes: pack_start() i pack_end().

La combinació dels quatre paràmetres (expand, fill i padding) que tenen aquestes funcions i els paràmetres propis de les caixes HBox() i VBox() (homogeneous i spacing) ens permeten multitud de possibilitats per a poder situar i alinear els elements a la caixa.

Potser és un poc difícil d’entendre tot plegat i per això he volgut fer un petit programa que mostre totes les combinacions de paràmetres i quin és el resultat en la alineació dels distints elements, en aquest cas uns botons.

Una captura de pantalla del programa en execució la teniu ací:

pack_start.jpg

En aquest cas, tan sols he utilitzat la funció pack_start(). En el cas de voler emprar la seua anàloga pack_end() el resultat haguera estat l’alineació dels botons de dreta a esquerra en lloc de esquerra a dreta de l’exemple.

El fitxer amb el codi font us el podeu descarregar de la secció Fitxers.

Codi

Comentaris (0)

Permalink

Un PIDA més modern

Després de provar l’editor PIDA, com ja us vaig dir en el següent apunt, ara he instal·lat la darrera versió estable de dit editor.

La versió empaquetada actualment per a la distribució Ubuntu és la 0.2.2, de la qual ja heu vist unes captures. Tanmateix, des de la pàgina web del projecte us podeu instal·lar la versió 0.3.1. de la qual ací en teniu una captura en execució amb l’editor culebra seleccionat:

pida-0_3_1.jpg


Per instal·lar-lo tan sols hem de baixar el paquet adient des d’ací, desempaquetar-lo i executar

$ python setup.py install

A qui li estranye açò últim, tan sols ha de pensar que PIDA està fet en Python, en PyGtk precisament…

Com podeu comprovar ha canviat un poc prou la interfície.

El que no m’ha agradat és que ja no tens accés a les funcions de la llibreria GTK en escriure text a l’editor, la qual cosa la versió anterior sí tenia.

Una opció més per al desenvolupador de Python.

Entorns

Comentaris (0)

Permalink

Una barra lateral amb el Python

Una eina que pot ser interessant per a poder revisar la documentació sobre Python amb tan sols un parell de clics, és la barra lateral de Python.

Amb aquesta interessant eina que pots instal·lar al teu navegador Firefox, et permet tenir accessible un tutorial de Python, la referència del llenguatge, les llibreries existents, la pròpia API, com estendre i empotrar el llenguatge, i els mòduls que hi té actualment. Tot això amb la possibilitat de poder cercar la informació específica en qualsevol moment.

Bona eina, no?

Ací teniu una captura amb el meu navegador:

sidebar.jpg

Documentació

Comentaris (0)

Permalink