Viruz Blog
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

FileType en NetBeans Platform

Ir abajo

FileType en NetBeans Platform Empty FileType en NetBeans Platform

Mensaje  Admin (Viruz) Vie Nov 30, 2012 2:41 am

Antes de aprender a crear otro forma de paleta debemos de aprender a crear "Tipos de Archivos", así que conozcamos más de este tema.
Los tipos de archivos que son reconocidos en el IDE cuentan con sus propios iconos, elementos de menú y comportamientos. Los archivos que se muestran en la clase FileObjects o en el caso de los archivos de configuración java.io.File, son por lo general datos almacenados de alguna u otra forma dentro de archivos XML en módulos. Lo que realmente se logra apreciar son los nodos que proporcionan funcionalidades como las acciones y los nombres localizados a los objetos. En medio de los nodos y FileObjects existen los DataObjects.

Un DataObject es como un FileObject, excepto que la clase conoce qué tipo de archivo se encuentra mostrando. Cada DataObject es proporcionada por un módulo diferente, cada uno da apoyo en la implementación de uno o más tipos de archivos, por ejemplo el módulo de imagen hace que sea posible reconocer y abrir .gif y .png.

Un módulo que reconoce un tipo de archivo instala un DataLoader (es una fábrica de un tipo de archivo específico de DataObject).
En esta entrada vamos a crear nuestro propio tipo de archivo (nuestra propia extensión) para que pueda ser reconocida en nuestra plataforma, en este caso de ejemplo pondré ".itver".

Pasos:

1. Creamos un nuevo módulo o si deseas puedes trabajar en uno con el que ya cuentes, damos clic derecho sobre él y en el menú escogemos New > Other.

Recomendación: Crea un paquete aparte para que puedas tener en orden tus archivos que se generen.

En la parte de categorías vamos a Module Development y en tipo de archivo escogemos File Type.

[Tienes que estar registrado y conectado para ver esa imagen]
2. Ahora comenzando el asistente tendremos las siguientes opciones:

  • MIME Type: Especifica el objeto de datos de tipo MIME único.
  • Extensión de archivo: Especifica una o más extensiones de archivo(s) que el IDE reconoce como pertenecientes al tipo MIME especificado. La extensión del archivo opcionalmente puede estar precedido por un punto. Los separadores son comas, espacios, o ambos.
  • Elemento XML raíz: Especifica un espacio de nombres único que distingue el tipo de archivo XML. Debido a que muchos archivos XML tienen la misma extensión, el IDE distingue entre los archivos a través de sus elementos raíz XML.
[Tienes que estar registrado y conectado para ver esa imagen]
En el primer recuadro pondremos "text/x-itver", activamos la opción de "byFileName Extension" y escribimos ".itver .ITVER" para que reconozca la extensión en minúsculas o mayúsculas.

3. La siguiente ventana del asistente es para crear una ventana (TopComponent) los cuales como se ha visto tendrán las opciones de: nombre de la clase, icono, proyecto y paquete.

Pero con diferencia de que podemos hacer el TopComponent multivista con la opción de "Use MultiView". La marcaremos y veremos a futuro esta opción.
[Tienes que estar registrado y conectado para ver esa imagen]
4. Para continuar el tutorial a los archivos que tendrán nuestra extensión de ahora en adelante los llamaremos items, por lo que vamos a crear un paquete dentro del módulo llamado de la misma manera de la siguiente forma org.prueba.modulo2.items.

5. A cada uno de los archivos que se han generado recientemente se les hará una breve descripción:
  • ItverDataObject.java: Engloba a un archivo FileObject.
  • ItverResolver.xml: El ItverDataLoader sólo reconoce el tipo MIME, que no sabe acerca de la extensión de archivo. Esa es la tarea de la resolución de tipo MIME que utiliza estas reglas para determinar si un archivo es reconocido.
  • ItverTemplate.itver: Proporciona la base de un archivo de plantilla que se registra en el layer.xml de tal manera que se instalará en el cuadro de diálogo "New File" como una plantilla nueva.
  • ItverVisualElement.java: Muestra visualmente la multiventana del editor.
Revisemos el archivo layer.xml y debe de contar con lo siguiente:


<folder name="Loaders">
<folder name="text">
<folder name="x-itver">
<folder name="Actions">
<file name="org-openide-actions-CopyAction.shadow">
<attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-CopyAction.instance"/>
<attr name="position" intvalue="400"/>
</file>

<file name="org-openide-actions-CutAction.shadow">
<attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-CutAction.instance"/>
<attr name="position" intvalue="300"/>
</file>
<file name="org-openide-actions-DeleteAction.shadow">
<attr name="originalFile" stringvalue="Actions/Edit/org-openide-actions-DeleteAction.instance"/>
<attr name="position" intvalue="600"/>
</file>
<file name="org-openide-actions-FileSystemAction.shadow">
<attr name="originalFile" stringvalue="Actions/System/org-openide-actions-FileSystemAction.instance"/>
<attr name="position" intvalue="1100"/>
</file>
<file name="org-openide-actions-OpenAction.shadow">
<attr name="originalFile" stringvalue="Actions/System/org-openide-actions-OpenAction.instance"/>
<attr name="position" intvalue="100"/>
</file>
<file name="org-openide-actions-PropertiesAction.shadow">
<attr name="originalFile" stringvalue="Actions/System/org-openide-actions-PropertiesAction.instance"/>
<attr name="position" intvalue="1400"/>
</file>
<file name="org-openide-actions-RenameAction.shadow">
<attr name="originalFile" stringvalue="Actions/System/org-openide-actions-RenameAction.instance"/>
<attr name="position" intvalue="700"/>
</file>
<file name="org-openide-actions-SaveAsTemplateAction.shadow">
<attr name="originalFile" stringvalue="Actions/System/org-openide-actions-SaveAsTemplateAction.instance"/>
<attr name="position" intvalue="900"/>
</file>
<file name="org-openide-actions-ToolsAction.shadow">
<attr name="originalFile" stringvalue="Actions/System/org-openide-actions-ToolsAction.instance"/>
<attr name="position" intvalue="1300"/>
</file>
<file name="sep-1.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="200"/>
</file>
<file name="sep-2.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="500"/>
</file>
<file name="sep-3.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="800"/>
</file>
<file name="sep-4.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="1000"/>
</file>
<file name="sep-5.instance">
<attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
<attr name="position" intvalue="1200"/>
</file>
</folder>
<folder name="Factories">
<file name="ItverDataLoader.instance">
<attr name="SystemFileSystem.icon" urlvalue="nbresloc:/org/prueba/modulo2/itv.gif"/>
<attr name="dataObjectClass" stringvalue="org.prueba.modulo2.ItverDataObject"/>
<attr name="instanceCreate" methodvalue="org.openide.loaders.DataLoaderPool.factory"/>
<attr name="mimeType" stringvalue="text/x-itver"/>
</file>
</folder>
</folder>
</folder>
</folder>


Con esto ya nuestra plataforma podrá reconocer el tipo de archivo creado para poder utilizarlo posteriormente, en el siguiente tutorial veremos como podemos integrarlo a la paleta.

Autor: Viruz study
Enlace: FileType en NetBeans Platform
Admin (Viruz)
Admin (Viruz)
Admin

Mensajes : 148
Fecha de inscripción : 23/09/2012
Edad : 35
Localización : Desktop

https://viruz.foroactivo.mx

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.