4. Módulo commonsdialog

4.1. Funções principais

msgbox(message[, title="", meesageType=IDEA, root=None])

Mostra uma mensagem de diálogo apenas com um botão de Ok.

Parâmetros:
  • message (str) – texto a ser apresentado no diálogo

  • title (str) – título do diálogo

  • messageType (int) – tipo de ícone a ser usado.

  • root (DefaultFrame ou None) – Frame reference

inputbox(message[, title="", messageType=IDEA, initialValue="", root=None])

Mostra um diálogo de entrada.

Parâmetros:
  • message (str) – texto a ser apresentado no diálogo

  • title (str) – título do diálogo

  • messageType (int) – tipo de ícone a ser usado.

  • initialValue (str) – Valor inicial da caixa de entrada

  • root (DefaultFrame ou None) – Frame reference

Retorna:

Texto retornado na caixa de entrada

Tipo de retorno:

str

confirmDialog(message[, title="", optionType=YES_NO, messageType=IDEA, root=None])

Cria uma mensagem de diálogo com botões de opção

Parâmetros:
  • message (str) – texto a ser apresentado no diálogo

  • title (str) – título do diálogo

  • optionType (int) – botões a serem mostrados

  • messageType (int) – tipo de ícone a ser usado.

filechooser(option[, title="", initialPath=None, multiselection=False, filter = None, fileHidingEnabled=True, root=None])

Permite configurar os parâmetros de diálogos de seleção de arquivos

Parâmetros:
  • option (int) – modo de seleção do seletor de arquivos. Valores permitidos: OPEN_FILE, OPEN_DIRECTORY, SAVE_FILE

  • title (str) – Título da janela

  • initialPath (str) – Caminho inicial para o diretório a ser aberto no diálogo

  • multiselection (boolean) – Permite a seleção de mais de um objeto.

  • filter (List of Strings) – lista de extensões de arquivos aceitados (“jpg”, “png”, “gif”)

  • fileHidingEnabled (boolean) – True se arquivos ocultos não serão mostrados

Retorna:

Caminho selecionado ou lista de caminhos

openFileDialog([title='', initialPath=None, root=None])

Mostra uma janela de diálogo para escolha de um arquivo.

Parâmetros:
  • title (str) – Título da janela. Default ‘’

  • initialPath (str) – Caminho inicial a ser aberto na janela de diálogo

openFolderDialog([title='', initialPath=None, root=None])

Mostra uma janela de diálogo para escolha de uma pasta.

Parâmetros:
  • title (str) – Título da janela. Default ‘’

  • initialPath (str) – Caminho inicial a ser aberto na janela de diálogo

saveFileDialog([title='', initialPath=None, root=None])

Mostra uma janela de diálogo para escolha de um arquivo.

Parâmetros:
  • title (str) – Título da janela. Default ‘’

  • initialPath (str) – Caminho inicial a ser aberto na janela de diálogo

getJavaFile(path)

Retorna um java File usando um caminho como parâmetro. Se o caminho não existir, procura na pasta do usuário e, se não encontrá-lo, retorna o caminho que será o diretório de instância do gvSIG.

Parâmetros:

path (str) – String-path.

Retorna:

Retorna java.io.File

4.2. Constantes na biblioteca

Constantes que aparecem na biblioteca e serão usadas em diferentes funções:

*messageType options*
FORBIDEN = 0
IDEA= 1
WARNING= 2
QUESTION= 3

*Confirmdialog optionType Options*
YES_NO = 0
YES_NO_CANCEL = 1
ACEPT_CANCEL = 2

YES = 0
NO = 1
CANCEL = 2

*filechooser options*
OPEN_FILE = 0
OPEN_DIRECTORY = 1
SAVE_FILE = 2

*filechooser selectionMode*
FILES_ONLY = JFileChooser.FILES_ONLY
DIRECTORIES_ONLY = JFileChooser.DIRECTORIES_ONLY

4.3. Uso

Com o módulo de commonsdialog gerenciamos as janelas popup que aparecem no gvSIG. Por exemplo, se queremos mostrar um aviso ao usuário usaremos msgbox(): ou se precisamos que o usuário entre com algum valor que será usado no script, podemos usar a função inputbox() que devolverá o texto que for escrito pelo usuário na caixa de texto que aparecerá na tela.

Para importar a biblioteca faremos o seguinte:

import gvsig.commonsdialog

ou:

from gvsig import commonsdialog

ou:

from gvsig.commonsdialog import *

Por exemplo:

1from gvsig import commonsdialog
2
3def main(*args):
4
5        commonsdialog.msgbox("Bem vindo ao gvSig","Welcome", commonsdialog.IDEA)

O tipo de mensagem é estabelecido no parâmetro messageType como podemos ver em msgbox() e estes tipos ficam armazenados em constantes dentro do módulo commonsdialog.

Ou depende de como realizamos a importação.

1from gvsig.commonsdialog import *
2
3def main(*args):
4
5        msgbox("Bem vindo ao gvSIG", "Welcome", IDEA)

Dando como resultado uma janela:

../../_images/commonsdialog-msgbox_1.png

Dependendo do tipo de aviso que selecionemos serão mostrados diferentes ícones na janela:

WARNING:

../../_images/commonsdialog-msgbox_2.png

FORBIDEN:

../../_images/commonsdialog-msgbox_3.png

QUESTION:

../../_images/commonsdialog-msgbox_4.png

4.4. Tipos de diálogos

Diferentes tipos de diálogos:

from gvsig import *
from gvsig import commonsdialog
from gvsig.commonsdialog import *


def main(*args):

        message = "Prueba"

        mb = commonsdialog.msgbox(message, title="", messageType=IDEA, root=None)
        print "msgbox:", mb

        ib = commonsdialog.inputbox(message, title="", messageType=IDEA, initialValue="", root=None)
        print "inputbox:", ib

        cd = commonsdialog.confirmDialog(message, title="", optionType=YES_NO, messageType=IDEA, root=None)
        print "confirmDialog:", cd

        option = "OPEN_FILE"
        fc = commonsdialog.filechooser(option, title="", initialPath=None,  multiselection=False, filter = None, fileHidingEnabled=True, root=None)
        print "filechooser:", fc

        fc = commonsdialog.filechooser(option, title="", initialPath=None,  multiselection=True, filter = None, fileHidingEnabled=True, root=None)
        print "filechooser:", fc

        ofiled = commonsdialog.openFileDialog(title='', initialPath=None, root=None)
        print "openFileDialog:", ofiled

        ofolderd = commonsdialog.openFolderDialog(title='', initialPath=None, root=None)
        print "openFolderDialog:", ofolderd

        sfd = commonsdialog.saveFileDialog(title='', initialPath=None, root=None)
        print "saveFileDialog:",sfd

Caixa de mensagem:

../../_images/c_msgbox.png

Caixa de entrada de texto:

../../_images/c_inputbox.png

Diálogo de Confirmação:

../../_images/c_confirmDialog.png

Seletor de arquivos:

../../_images/c_1.png

Seletor de arquivos com múltipla seleção:

../../_images/c_2.png

Diálogo de abertura de arquivo:

../../_images/c_3.png

Diálogo de abertura de pasta:

../../_images/c_4.png

Diálogo para salvar arquivo:

../../_images/c_5.png

Saída pelo terminal:

msgbox: None
inputbox:
confirmDialog: 0
filechooser: D:\gvdata\countries027.geojson
filechooser: [u'D:\\gvdata\\countries024.geojson', u'D:\\gvdata\\countries025.geojson', u'D:\\gvdata\\countries026.geojson',
                        u'D:\\gvdata\\countries027.geojson', u'D:\\gvdata\\countries028.geojson', u'D:\\gvdata\\countries029.geojson',
                        u'D:\\gvdata\\countries030.geojson']
openFileDialog: [u'D:\\gvdata\\countries028.geojson']
openFolderDialog: [u'D:\\gvdata\\GISofThrones\\GoTRelease']
saveFileDialog: [u'D:\\gvdata\\newfile.shp']