El navegador o “Studio Browser” contiene muchas
plantillas y asistentes (wizards) que nos facilitan la construcción de
aplicaciones y como ya sabemos es posible cambiar o añadir contenidos, tanto sobre
el “Studio Browser”, como sobre el “Component Store”. A continuación mostramos
dos ejemplos: El primero se trata de una plantilla simple, mientras que en el
segundo mostraremos como crear un sencillo asistente.
Primer ejemplo: Plantilla o “Template”, para la
creación de un menú “Edición” personalizado.
1)
Pulse
“botón-derecho” sobre la opción “Libraries” del navegador y escoja la opción
“Show Comps.lbs”.
2) Cree
una nueva clase “Menú” y llámela “Edición”.
3) Pulse “botón-derecho” sobre la clase recién creada y
tras escoger la opción “Component Store Type…”, seleccione “Template”.
Añada el código siguiente
según la opción correspondiente:
Deshacer: Standard menu
command *Edit/11001 {Undo}
Cortar: Standard menu command
*Edit/11002 {Cut}
Copiar: Standard menu command
*Edit/11003 {Copy}
Pegar: Standard menu command
*Edit/11004 {Paste}
Borrar: Standard menu command
*Edit/11005 {Clear}
Seleccionar todo: Standard
menu command *Edit/11006 {Select All}
Pegar desde archivo…: Standard
menu command *Edit/11065 {Paste From File...}
4) Finalmente oculte la librería de componentes (opción
“Hide Comps.lbs”)
Ahora
podrá encontrar bajo la opción “Class Wizard >> Menu… >>
Templates”, una nueva opción denominada “Edción”, selecciónela y pulse el botón
“Create” cada vez que desee añadirla a su biblioteca en construcción.
Segundo
ejemplo: Asistente o “Wizard” para la creación de un menú “Archivo”
personalizado.
1)
Pulse
“botón-derecho” sobre la opción “Libraries” del navegador y escoja la opción
“Show Comps.lbs”.
2) Cree
una nueva clase “Menú” y llámela “Archivo”.
3) Pulse “botón-derecho” sobre la clase recién creada y
tras escoger la opción “Component Store Type…”, seleccione “Wizard”.
4) Cree una nueva clase “Object” y llámela “CreaMenuArchivo”
5) Añada un método al objeto, llámelo “$start” y
asígnele el código siguiente, así como las variables locales y de parámetros
utilizadas al efecto.
De parámetro
pRef Item
reference
pWindowClass Character
pMenuLineText Character
Variables locales
lAplicacion Character
lMethodTextRef Item reference
lRefLine Item
reference
Método
Do pRef.$title.$assign('Archivo')
Do pRef.$methods.$findname('$setup()') Returns lMethodTextRef
Do pRef.$methods.$remove(lMethodTextRef) Returns #F
Prompt for input Introduzca el nombre de su aplicación:
/Nombre de la aplicación//15 Returns lAplicacion
If flag true
Do
pRef.$objs.$add(con('Registrar ',lAplicacion,'...')) Returns lRefLine
Do
lRefLine.$methods.$add('$event')
Do
lRefLine.$methods.$findname('$event') Returns lMethodTextRef
Do
lMethodTextRef.$methodtext.$assign(con("Do $prefs.$serialise(kTrue,'Datos
de registro",lAplicacion,"',24)")) Returns #F
Do
pRef.$objs.$add('')
Do
pRef.$objs.$add(con('Imprimirá en "',sys(24),'"...')) Returns
lRefLine
Do
lRefLine.$methods.$add('$event')
Do
lRefLine.$methods.$findname('$event') Returns lMethodTextRef
Do
lMethodTextRef.$methodtext.$assign("Standard menu command *File/11090
{Print Destination '$'...}") Returns #F
Do
pRef.$objs.$add('Ajustar página...') Returns lRefLine
Do lRefLine.$methods.$add('$event')
Do
lRefLine.$methods.$findname('$event') Returns lMethodTextRef
Do
lMethodTextRef.$methodtext.$assign("Standard menu command *File/11064
{Page Setup...}") Returns #F
Do
pRef.$objs.$add('Imprimir') Returns lRefLine
Do lRefLine.$methods.$add('$event')
Do
lRefLine.$methods.$findname('$event') Returns lMethodTextRef
Do
lMethodTextRef.$methodtext.$assign("Print top window") Returns #F
Do
pRef.$objs.$add('Imprimir informe guardado...') Returns lRefLine
Do
lRefLine.$methods.$add('$event')
Do
lRefLine.$methods.$findname('$event') Returns lMethodTextRef
Do
lMethodTextRef.$methodtext.$assign("Standard menu command *File/11079
{Print Report From Disk... }") Returns #F
End If
Tras
esto sólo nos quedará añadir un método al menú “Archivo” creado anteriormente,
al que denominaremos “$setup()”, con el código siguiente:
Variables locales
lObjeto Object ComponentLibrary.CreaMenuArchivo
Método
Do lObjeto.$start($cclass().$ref)
6) Finalmente oculte la librería de componentes (opción
“Hide Comps.lbs”)
Ahora
podrá encontrar bajo la opción “Class Wizard >> Menu…”, una nueva opción
denominada “Archivo”, tras seleccionarla y pulsar el botón “Create” se le
solicitará un nombre de aplicación, que será utilizado para componer la opción
“Acerca de..” del menú “Archivo”.