Está en la página 1de 10

CursoscriptingengvSIG2:Manipulacindedatosvectoriales 1

Dilogosestndar

2013gvSIGAssociation

2013gvSIGAssociation
EstedocumentosedistribuyeconlalicenciaCreativeCommons
CursoscriptingengvSIG2:Manipulacindedatosvectoriales 2

ndice de contenido
1Losdilogosestndard......................................................................................................3
Laventanademensajes,msgbox...............................................................................................3
Laventanadedilogo,confirmDialog......................................................................................4
Laventanadedilogo,inputbox................................................................................................5

2Dilogosdeseleccindearchivosydirectorios...............................................................7
FuncinopenFileDialog..............................................................................................................7
FuncinsaveFileDialog...............................................................................................................8
FuncinopenDirectoryDialog....................................................................................................9

2013gvSIGAssociation
CursoscriptingengvSIG2:Manipulacindedatosvectoriales 3

1 Los dilogos estndard


Losdilogospermiteninteractuarconelusuariodesdelospropiosscripts,yaseaparanotificarle
algooparapreguntarlealgunacuestin.
La ventana de mensajes, msgbox
EstaventanapermitemostraralusuariodegvSIGunaventanaconuntexto,sinqueelusuario
puedarealizarningunaaccinsobrelaventanamasalldeaceptar.
Laventanaseinvocamediantelafuncinmsgboxqueseencuentraenelmdulocommonsdialog,
conlasiguientesintaxis:
msgbox(mensaje[,title,messageType])
mensaje,string:Textoquesevaamostrarenlaventanadedilogo
title,string(opcional):Ttulodelaventana.Pordefectonoseusaninguno.
messageType, int [03] (opcional): Determina qu clase de mensaje es el que estamos
mostrando,seleccionauniconoquesemostrarenlaventana.Seutilizaparaenfatizarel
tipodemensajequeseestmostrandoalusuario.Lasconstantesdisponiblesson:
FORBIDEN
IDEA
WARNING
QUESTION
FORBIDEN:Iconoprohibido
IDEA:Iconobombilla
WARNING:Iconoatencin
QUESTION:Iconointerrogacin
SiguiendoconnuestroscriptHolamundopodemosmodificarloparaqueenvezdemostraruntexto
enelreadenotificacionesdeleditordescripts,muestreunavisoalusuariodegvSIG.Elcdigo
paranuestroscripteselsiguiente(ejemplo1)
import commonsdialog

def main():
commonsdialog.msgbox("Hola mundo!", "Saludo",
commonsdialog.WARNING)
Unavezintroducido,loguardaremosconlaopcinFile/Save,yyaestaremoslistosparaejecutarlo
conlaopcinFile/Run.
ObservaremosquenospresentauncuadrodemensajesconeltextoHolamundo!,comoiconoel
smbolodeatencinyelttulodelaventanaesSaludo.Adems,elusuarionicamentepuedepulsar
elbotnAceptar.

2013gvSIGAssociation
CursoscriptingengvSIG2:Manipulacindedatosvectoriales 4

msgboxHolamundo

La ventana de dilogo, confirmDialog


Estaventananospermitemostraralusuariounmensajeyquedecidaentrevariasopciones,nosolo
aceptar.
SeinvocamediantelafuncinconfirmDialogqueseencuentraenelmdulocommonsdialog,conla
siguientesintaxis:
confirmDialog(message,[title,optionType,messageType])
mensaje,string:Textoquesevaamostrarenlaventanadedilogo
title,string(opcional):Ttulodelaventana.Pordefectonoseusaninguno.
optionType,int[02]:Determinaqubotonesseofrecenalusuarioparaquepuedapulsar.
Lasconstantesadmitidasson
YES_NO
YES_NO_CANCEL
ACEPT_CANCEL
YES_NO:botoness/no.
YES_NO_CANCEL:botoness/no/cancel.
ACEPT_CANCEL:botonesaceptar/cancelar.
messageType, int [03] (opcional): Determina qu clase de mensaje es el que estamos
mostrando,seleccionauniconoquesemostrarenlaventana.Seutilizaparaenfatizarel
tipodemensajequeseestmostrandoalusuario.Lasconstantesdisponiblesson:
FORBIDEN
IDEA
WARNING
QUESTION
FORBIDEN:Iconodeprohibido.
IDEA:Iconodebombilla
WARNING:Iconodeatencin.
QUESTION:Iconodeinterrogacin

2013gvSIGAssociation
CursoscriptingengvSIG2:Manipulacindedatosvectoriales 5

Unejemplo, pensemos quequeremos ofrecer alusuariola opcindeelegir sideseaquesele


muestreunmensaje(ejemplo2).
import commonsdialog

def main():
message = "Desea que se le muestre un mensaje?"
title = "Aviso"
optionType = commonsdialog.YES_NO
messageType = commonsdialog.QUESTION
option = commonsdialog.confirmDialog(message, title, optionType,
messageType)

if option == 0: # opcion si
commonsdialog.msgbox("Hola mundo!", "Saludo",
commonsdialog.IDEA)

Elresultadodeejecutarelscriptsemuestraenlasiguienteimagen

VentanadedilogoconfirmDialog

La ventana de dilogo, inputbox


Laventanadedilogoinputboxnospermiteobtenerunvalorfacilitadoporelusuariodelscripty

2013gvSIGAssociation
CursoscriptingengvSIG2:Manipulacindedatosvectoriales 6

trabajarconl.Muestraunaventanaconuncuadrodetextoy2botones,AceptaryCancelar.Siel
usuariopulsaelbotnAceptarelvalorqueobtenemoseselcontenidodelacajadetexto,siporel
contrariopulsaelbotnCancelarelvalordevueltoserNone.

Laventanadedilogo,inputbox
Laventanaseinvocamediantelafuncininputboxqueseencuentraenelmdulocommonsdialog,
conlasiguientesintaxis:
inputbox(mensaje)
mensaje,string:Textoquesevaamostrarenlaventanadedilogoquedeberfacilitar
informacinsobreloqueelusuariodebeintroducir.
Podemoscrearunscriptquepermitaalusuariointroduciruntextoquesemuestreenunaventana.
Elcdigopodraser(ejemplo3)
import commonsdialog

def main():
titulo = "Script inputbox"
texto = commonsdialog.inputbox(
"Introduzca el texto que desea visualizar")
commonsdialog.msgbox(texto, titulo, commonsdialog.IDEA)
Cuandoseejecuteelscript,aparecerunaventanaenlaquesepodrintroduciruntextoquese
mostrarcuandoelusuariopulseelbotnAceptar.
Sinoqueremosquesemuestrelaventanademensajes,sielreadetextoestvacaosielusuario
pulsaelbotnCancelar,bastarconcomprobarelvalordeloquedevuelvelafuncininputbox.
Elsiguientescriptverificaloquehaintroducidoelusuarioyenelcasodequenohayaintroducido
nadaopulseelbotnCancelarmuestraunaviso,encasocontrariomuestraelcontenidodelacaja
detexto(ejemplo4)

2013gvSIGAssociation
CursoscriptingengvSIG2:Manipulacindedatosvectoriales 7

import commonsdialog
def main():
texto = commonsdialog.inputbox(
"Introduzca el texto que desea visualizar")
if texto:
commonsdialog.msgbox(texto, "Script inputbox",
commonsdialog.IDEA)
else:
commonsdialog.msgbox(
"Debe introducir un texto para continuar.",
"Script inputbox",
commonsdialog.FORBIDEN)

2 Dilogos de seleccin de archivos y directorios


Enelmdulocommonsdialog,existen3funcionesparalaseleccindearchivosydirectorios.
Las3funcionesutilizanlamismasintaxis,admiten2parmetrosopcionales:
titlestring(opcional):Ttulodelaventana
initialPath string (opcional): Directorio que se usar inicialmente cuando se muestre el
dilogo.
Sielparmetro initialPathseomiteonoesvlidointentamostrareldirectoriodelusuario,sino
puedeobtenerlo,abreeldirectoriodondeestinstaladogvSIG.
Funcin openFileDialog
Estafuncinmuestraunaventanadedilogoquepermiteseleccionarunarchivo.Devuelvelaruta
absolutadeunficheroquesehayaseleccionadooNoneencasodequesecierrelaventanaose
pulseelbotncancelar
Lasintaxises:
openFileDialog([title,initialPath])
titlestring(opcional):Ttulodelaventana
initialPath string (opcional): Directorio que se usar inicialmente cuando se muestre el
dilogo.
Porejemplo,queremosobtenerlarutadeunshapequeestguardadoenlacarpetadecartografa
definidaengvSIG.Sinoseseleccionaningnarchivo,muestraunmensajeavisando(ejemplo5).
SepuededefinirestacarpetaengvSIGdesdeeldilogodepreferencias,enla
ramaGeneral/Carpetas.

2013gvSIGAssociation
CursoscriptingengvSIG2:Manipulacindedatosvectoriales 8

import gvsig
import commonsdialog

def main():
path_inicial = gvsig.getDataFolder()
file_path = commonsdialog.openFileDialog("Abrir Archivo",
path_inicial)
if not file_path:
commonsdialog.msgbox("Seleccione un archivo", "Aviso",
commonsdialog.WARNING)
return
#
#Codigo
#
Funcin saveFileDialog
Estafuncinmuestraunaventanadedilogoquepermiteseleccionarunarchivo.Devuelvelaruta
absolutadeunficheroquesehayaseleccionadooNoneencasodequesecierrelaventanaose
pulseelbotncancelar
Lasintaxises:
saveFileDialog([title,initialPath])
titlestring(opcional):Ttulodelaventana
initialPath string (opcional): Directorio que se usar inicialmente cuando se muestre el
dilogo.
Supongamosquequeremosobtenerunarutadondevamosaguardarunarchivoeneldirectorio
temporaldelsistema.Elcdigosera(ejemplo6):
import tempfile
import commonsdialog

path_inicial = tempfile.gettempdir()
file_path = commonsdialog.saveFileDialog("Guardar Archivo",
path_inicial)

if not file_path:
commonsdialog.msgbox("Seleccione un archivo", "Aviso",
commonsdialog.WARNING)
return

#
#Codigo
#

2013gvSIGAssociation
CursoscriptingengvSIG2:Manipulacindedatosvectoriales 9

Funcin openDirectoryDialog
Estafuncinmuestraunaventanadedilogoquepermiteseleccionarundirectorio.Devuelvela
rutaabsolutadeunficheroquesehayaseleccionadooNoneencasodequesecierrelaventanaose
pulseelbotncancelar
Lasintaxises:
openFolderDialog([title,initialPath])
titlestring(opcional):Ttulodelaventana
initialPath string (opcional): Directorio que se usar inicialmente cuando se muestre el
dilogo.
Porejemplo,queremosobtenerlarutadeundirectorioyqueremosquesemuestreinicialmenteel
directoriodelusuarioenelsistema.Sinoseseleccionaningndirectorio,muestraunmensaje
avisando(ejemplo7).
import commonsdialog

file_path = commonsdialog.openFolderDialog("Abrir Directorio")

if not file_path:
commonsdialog.msgbox("Seleccione un directorio", "Aviso",
commonsdialog.WARNING)
return

#
#Codigo
#

2013gvSIGAssociation
CursoscriptingengvSIG2:Manipulacindedatosvectoriales 10

gvSIGAssociation
PlazaDonJuandeVillarrasa145,
46001,Valencia(Spain)
RegistroNacionaldeAsociaciones:596206
email:info@gvsig.com
Web:www.gvsig.com

Webdelproyecto:http://www.gvsig.org

DocumentacinrealizadaporVctorAcevedo.

ListasdeDistribucin
Existentreslistasdedistribucinconelobjetodefacilitarlacomunicacinentretodoslosinteresadosenelproyecto
gvSIG.Lasdosprimeras,ladeusuariosyladedesarrolladores,estnprincipalmenteorientadasalacomunidadde
habla hispana, siendo el castellano el idioma preferente a utilizar en las mismas. La tercera de ellas, lista
internacional,estorientadaprincipalmentealrestodecomunidadesylalenguapreferenteautilizareslainglesa.

Listadeusuarios.Aqupodishacerllegarvuestraopininsobreelfuncionamiento:qucosasos
gustaraquesedesarrollaran,dudasenelusodegvSIGytodoaquelloquepensisquetienecabidaenunalista
deusuarios.Elenlaceparalasuscripcinalalistadeusuarioses:
http://listserv.gva.es/mailman/listinfo/gvsig_usuarios

Listadedesarrolladores.Estorientadaparatodoslosinteresadosenconocercmoestdesarrollado
elgvSIG.Elenlaceparalasuscripcinaestalistaesa:
http://listserv.gva.es/mailman/listinfo/gvsig_desarrolladores

Listainternacional.Estorientadatantoparausuarioscomoparadesarrolladoresdehablanohispana.
Elidiomaautilizarespreferentementeingls.Elenlaceparalasuscripcinaestalistaes:
http://listserv.gva.es/mailman/listinfo/gvsig_internacional

Todos los nombres propios de programas, sistemas operativos, equipo hardware etc., que
aparecenenestecursosonmarcasregistradasdesusrespectivascompaasuorganizaciones.

2013gvSIGAssociation

Este manual se distribuye con la licencia Creative Commons ReconocimientoCompartirIgual 3.0


Unported(http://creativecommons.org/licenses/ccbysa/3.0/deed.es)VercondicionesenAnexos

2013gvSIGAssociation

También podría gustarte