wxLua et wxWidgets:
Mode d'emploi.
 wxWidgets
Lua
Flèche gauche accueil wxWidgets lua notes Flèche droite
Description détaillée.

Classe: wxDirDialog()

Cette boîte de dialogue affiche la boîte de sélection de répertoires, permettant à l'utilisateur de sélectionner un dossier.

Les styles utilisés.
  • wx.wxDD_DEFAULT_STYLE
    Equivalent à la combinaison wx.wxDEFAULT_DIALOG_STYLE + wx.wxRESIZE_BORDER
  • wx.wxDD_DIR_MUST_EXIST
    La boîte de dialogue permet à l'utilisateur de choisir uniquement un dossier existant. Lorsque ce style n'est pas mentionné, un nouveau bouton "Créer un nouveau répertoire" est ajouté à la boîte de dialogue. (sous Windows)
  • wx.wxDD_CHANGE_DIR
    Change le répertoire de travail courant par le répertoire choisi par l'utilisateur.
Le constructeur: Explication.
dirDialog = wx.wxDirDialog (
  wxWindow       * parent,      = wx.NULL
  const wxString & message      = " titre ",
  const wxString & defaultPath  = "nom du répertoire",
  long  style                   = wx.wxFD_DEFAULT_STYLE,
  const wxPoint  & pos          = wx.wxDefaultPosition 
  )

parent est la fenêtre qui détient la boite de dialogue.

message est le titre de la boîte de dialogue.

defaultPath est le nom du répertoire à utiliser par défault.

style est le style de la boîte de dialogue.

wx.wxDefaultPosition, peut aussi s'écrire, wx.wxPoint(x, y).

Les méthodes.

Vous trouverez ci-dessous, la liste des méthodes implémentées par wxLua 2.8.10.

GetPath()Retourne le path sélectionné par l'utilisateur.
GetMessage()Retourne le message qui est affiché sur la boîte de dialogue.
SetMessageDéfinit le message qui sera affiché sur la boîte de dialogue.
ShowModal()Permet de sélectionner les boutons wx.wxID_OK, et wx.wxID_CANCEL.
SetPathDéfinit le chemin par défaut.

Un exemple concret d'utilisation.
require("wx") -- inutile si on utilise wxluafreeze.exe

-- Création d'une frame et de son panel.
local frame = wx.wxFrame(wx.NULL, wx.wxID_ANY, "wxDirDialog")
local panel = wx.wxPanel(frame, -1)

-- Centrage de la frame au milieu de l'écran.
frame:Centre()	
---------------------------------------------------------------
-- Création d'une barre de menus.
local menuBar = wx.wxMenuBar()

-- Création d'une fenêtre "menu".
local fileMenu = wx.wxMenu( {{wx.wxID_OPEN, "Ouvrir",
							 "Recherche de répertoire"}} )

-- On met le fileMenu dans la menuBar
menuBar:Append(fileMenu, "Fichier")

-- On met la menuBar dans la frame
frame:SetMenuBar(menuBar)

function OpenDirDialog(event)
	local texte = "Sélectionnez le répertoire de votre choix."

-- Création de la boîte de dialogue.
	local dirDialog = wx.wxDirDialog( wx.NULL, texte, "",
									  wx.wxDD_DEFAULT_STYLE)

	if (dirDialog:ShowModal() == wx.wxID_OK) then
		local path = dirDialog:GetPath()
		wx.wxMessageBox(path)
	end
end
frame:Connect(wx.wxID_OPEN, wx.wxEVT_COMMAND_MENU_SELECTED, 
              OpenDirDialog)

-- Démarrage de l'application.
wx.wxGetApp():SetTopWindow(frame)
frame:Show(true)
wx.wxGetApp():MainLoop()
				

Ce qui donne comme résultat.

image01

image02

image03

logo wxWidgets Le savoir ne vaut que s'il est partagé par tous...
logo-internet_32x32.png Dernière mise à jour, le 5 octobre 2012.
Valid XHTML 1.0 Transitional

wxDirDialog
Revenir en Haut
Connexion à la base de données impossible