Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUI: CONFIGURACION
2.1 Introduccin
Matlab implementa una GUI como una figura que se despliega como una ventana que contiene varios objetos o controles. Se debe programar cada uno de ellos para que realice la accin que se quiere cuando el usuario active el componente, adems de permitir el salvamento y la corrida del GUI. Todas estas tareas se simplifican a travs del GUIDE. La elaboracin de una GUI incluye dos tareas bsicas como son: el reparto o distribucin de los componentes de la interfaz y la programacin de cada uno de los componentes. GUIDE esencialmente es un conjunto de herramientas para la distribucin, pero tambin facilita el acceso al archivo M-File que contiene el cdigo que maneja la iniciacin y acometida del GUI. El archivo M-File constituye un marco para la implementacin de los Callbacks, es decir, las funciones que se ejecutan cuando los usuarios activan los componentes en el GUI. Aun cuando es posible escribir un archivo M-File que contenga todos los comandos para elaborar una GUI, es mucho mas fcil utilizar el GUIDE porque permite hacerlo interactivamente. Al salvar o correr el GUI, GUIDE automticamente genera los archivos de extensiones .fig y .m, el primero de los cuales contiene la descripcin completa del GUI y el segundo contiene las funciones que corren y controlan el GUI y los callbacks. A este ltimo se le refiere como el archivo GUI M-File. Este archivo no contiene el cdigo que distribuye los controles; esta informacin se salva en el archivo FIG-File.
Propiedad Name
Name es el ttulo que se despliega en la barra superior de la interfaz. Para la asignacin de esta propiedad, visualice el inspector de propiedades de Figure realizando los siguientes pasos: 1. Digite en el editor de comandos de Matlab la palabra clave guide, presione el botn OK de la ventana titulada GUIDE Quick Start y seleccione Property Inspector para que se despliegue dicha ventana 2. Deslice hacia abajo la lista de propiedades hasta encontrar la de nombre Name. En el campo anexo a la derecha, digite Simple GUI como se observa en la Figura 2.1
que cuando se libera el mouse el botn se observa levantado y se ejecuta su correspondiente callback. Un botn Push Button no regresa un valor ni mantiene un estado.
Propiedad String
Con la propiedad String se asigna el nombre que se quiere que se despliegue como leyenda o ttulo en el frente de un botn Push Button
Propiedad Tag
Con la propiedad Tag, GUIDE nombra la subfuncin callback en el archivo GUI M-File. Esta propiedad se asigna antes de activar el GUI. 3. Instale un botn Push Button en el GUIDE. Despliegue el inspector de propiedades y deslice la lista hasta encontrar la de nombre String. Cambie el nombre que aparece por defecto, es decir, Push Button por la palabra Surf. El callback de este botn se codificar con las instrucciones requeridas para que al presionarla se despliegue un grfico de superficie. Despliegue el GUIDE y ahora, observa el botn con el nombre Surf en su frente 4. Instale dos botones Push Button adicionales debajo del anterior. Asgneles como propiedad String, los nombres Mesh y Contour, respectivamente. El callback del primero se codificar con las instrucciones para que con ellas se ejecute y despliegue un grfico enmallado mientras que con el segundo se despliegue un grfico de contorno. Despliegue el GUIDE y ahora, se deben observar los tres botones con nombres en sus frentes de Surf, Mesh y Contour.
el nombre que aparece por defecto, es decir, Static Text por la expresin Select Data.
Propiedad Value
La propiedad Value contiene el ndice de la opcin seleccionada. Por ejemplo, si la propiedad String contiene las tres opciones, peaks, membrana y
sinc y la propiedad Value tiene un valor de 2, entonces la opcin seleccionada es membrana Cuando el objeto Pop-up men no ha sido desplegado muestra, por defecto, la opcin determinada por el ndice que se encuentra asignado a la propiedad Value. La primera opcin en la lista le corresponde el ndice nmero uno. Los controles Pop-up men son tiles cuando se quiere suministrar al usuario un conjunto de opciones exclusivas mutuamente, pero no se quiere ocupar todo el espacio correspondiente a los radio botones requeridos
9. Presione el icono M-File Editor que se encuentra en la barra de herramientas para observar el cdigo construido hasta ahora por Matlab. Se observa la inclusin de las funciones que incluirn los cdigos que ejecutarn cada uno de los botones instalados. Las funciones asociadas con la Figure se nombran con simple_gui y para cada uno de los botones instalados se han incluido las correspondientes funciones con nombres pushbutton1_Callback, pushbutton2_Callback, pushbutton3_Callback y plot-upmenu1_Callback
Al seleccionar un callback en el men contextual, el cursor se mueve a la primera lnea de ste. Una funcin importante es la nombrada como OpeningFcn porque en ella se crean datos para el GUI o se ejecutan otras
tareas antes de abrir la interfaz. Para acceder a esta funcin proceda de la siguiente manera: 14. Presione el icono Show function que se encuentra en la barra de herramientas del archivo GUI M-File y haga clic sobre simple_gui_OpeningFcn para colocar el cursor del mouse en la primera lnea de dicha funcin
En el ejemplo que se construye se aade un cdigo para crear tres conjuntos de datos en la funcin apertura, utilizando las funciones ya codificadas en Matlab peaks, membrana y sinc. Las primeras seis lneas crean los datos utilizando las funciones peaks, membrana y sinc para la generacin de los mismos. La siguiente lnea, handles.current_data = handles.peaks ajusta el campo current_data de la estructura handles para que se iguale a los datos para la funcin peaks. El valor de handles.current_data cambia cuando el usuario selecciona un grfico diferente en el botn Pop-up Menu. La ltima lnea despliega el grfico en forma de superficie para peaks, que aparece por defecto cuando se abre el GUI. GUIDE genera, automticamente, dos lneas de cdigo adicionales en la funcin apertura a continuacin del cdigo aadido y que son: handles.output = hObject. Cumple la funcin de salvar el manejo al GUI para un posterior acceso mediante la funcin Output. Esta lnea es til si se quiere regresar el manejo del GUI a la lnea comando guidata(hObject, handles). Cumple la funcin de guardar la estructura handles
function popmenu1_Callback(hObject, evendata, handles) val = get(hObject, Value); switch val case 1 % El usuario seleccion la primera opcin case 2 % El usuario seleccion la segunda opcin % etc end
El siguiente callback selecciona la propiedad String actualmente seleccionada en el Pop-up Menu. Utiliza el valor para indexar en la lista de strings. Este esquema puede ser til si su programa carga, dinmicamente, el contenido del Pop-up Menu de acuerdo a la accin del usuario y necesita capturar el string seleccionado. Obsrvese que es necesario convertir el valor capturado mediante la propiedad String desde un arreglo de celdas a un string
function popmenu1_Callback(hObject, evendata, handles) val = get(hObject, Value); string_list = get(hObject, String); % Convierte de un arreglo de celdas a un string selected_string = string_list(val); switch selected_string case 1 % El usuario seleccion la primera opcin case 2 % El usuario seleccion la segunda opcin % etc end
El botn Pop-up Menu permite al usuario seleccionar los datos a graficar. Cuando el usuario selecciona a uno de los tres incluidos en el men, el callback del botn lee la propiedad Value para determinar el tipo de datos que se despliega por defecto y se ajusta de acuerdo a la lnea handles.current_data.
Para aadir el cdigo al botn Pop-up Menu de la interfaz simple_gui proceda de la siguiente manera: 18. Presione el icono Show function que se encuentra en la barra de herramientas del archivo GUI M-File y haga clic sobre plot_popup_Callback para colocar el cursor del mouse en la primera lnea de dicha funcin. Aada el cdigo como aparece en la Figura 2.7
Si esto sucede, presione el botn Yes y guarde, entonces, los archivos del GUI a un directorio apropiado Si el directorio donde se guarda el GUI no se encuentra en la ruta de Matlab, GUIDE abre el siguiente cuadro de dilogo, Figura 2.9, permitiendo la opcin de cambiar el directorio usual al directorio que contiene los archivos GUI o aadiendo dicho directorio a la ruta de Matlab. Presione el botn OK para cambiar de directorio
Figura 2.9 Confirmacin del directorio para guardar los archivos del GUI
Despus de guardados los archivos del GUI, GUIDE lo abre como se muestra en la Figura 2.10
Si se selecciona como tipo de datos la opcin membrana y Mesh como tipo de grfico se observa la Figura 2.11
Si se selecciona como tipo de datos la opcin sinc y Contour como tipo de grfico se observa la Figura 2.12
El mostrario de objetos despliega las propiedades Tag y String de cada uno de los componentes del GUI. Al seleccionar el nombre de uno de los componentes en la lista se selecciona el componente en el editor del GUI. Por ejemplo, en el Object Browser de la Figura 2.13, el uicontrol (Mesh_pushbutton Mesh), la propiedad String es Mesh; la propiedad Tag es Mesh_pushbutton, que a su vez le da el nombre al callback como Mesh_pushbutton_Callback. Observe que el componente seleccionado en el mostrador de objetos, tambin se selecciona en el editor del GUI.