I have a plugin where for a particular type of file i will enable some options to perform. so now i have requirement where i need to decide the type of a file dynamically and apply a particular options for that type of file.
Is it possible to do that? if yes, need some help about the same.
Thanks.
So I guess you want to show the context menu for something that represents a file in a view. Determine the file type based on custom rules (file extension is the easiest rule, looking inside the file the most complex) and create the popup or distribute content to an existing one.
If it's your own view, maybe a list or tree that shows a folder structure, then you have to register the Viewer as a SelectionProvider, listen to selection events, evaluate the selection (maybe a String or a File object) and create the popup menu.
Contributing actions to existing popup menus (like the navigator view context menus) is possible as well but a bit more challenging.
Related
I have a Java application which uses Sirius to model some nodes and diagrams.
I have two questions:
1. How I can export these diagrams as an XML/JSON? Is it possible to export some nodes of the diagram only? Please see the attached screenshot. For example, I want to export the node "DataRetentionPeriod" as a JSON. What is the required code and where I should insert it?
2. Can I use Post and Get commands of Liferay to export a diagram or some nodes of the Sirius files. I know that by right clicking on the modelling editor of the Sirius file I can export the diagram as an image. Can I add an option, similar to export an image, to export or call another function which can create endpoints or connection to a database? see the attach screenshot please.
The diagram is already an XML file (or more precisely, an XMI). Open the .aird file with any text editor. Note that the aird represents only the "drawing" element while you may be interested in the underlying "semantic" element (usually an XMI model conforming to your Ecore metamodel). https://www.eclipse.org/sirius/doc/ may help
You want to have a look at Eclipse Commands which allow you to enhance your RCP application with additional menus, menu entries, etc. Vogella.com has a lot of tutorials about this that should help you. Then you can do any behavior, like transforming a model element in an appropriate JSON and upload it to your database.
I am looking to create a component-based game engine, and I was wondering how components would be stored on a GameObject.
Component will be a type that all scripts derive from.
Possibly an ArrayList that holds references to each component?
I know it's going to be infinitely worse than UnityEngine.
For an more inside view how Unity works it is usefull to set the project settings to force text files (Edit -> Project Settings -> Editor -> Asset Serialization). Also you should select "Visible Meta files" on "VersionControl Mode" in the same window. So you can open and read how Unity saves refrences and look into prefabs, meta files and scenes with an text editor (they are using YAML as descripion language).
And you could look into Unity source code: https://github.com/Unity-Technologies/UnityCsReference
I would like to know if there is a way to create a file and not saving the file or going through any wizard screen. For instance, I would like to click a button, open a file with a default name, modify the file and optionally save the file into the hard drive.
In order to open an editor programmatically, you can use one of the static openEditor() methods provided by the IDE class, for example openEditor( IWorkbenchPage, IEditorInput, String ).
You are free to implement a custom IEditorInput or more useful in this case probably, the specialized IStorageEditorInput interface. Your implementation of getStorage() may return a storage that provides content that is independent of an (existing) file.
However, existing editors may or may not understand certain editor input types. Unfortunately, there is no way to determine upfront whether a certain editor can handle a certain input type.
If you are implementing your own editor (see IEditorPart and EditorPart) however, you can, of course, tailor the editor for that input type.
The answers to this question have pointers to building editors in Eclipse in general: Tutorial regarding the development of a custom Eclipse editor
I want to create a window with Java Swing. The window will have a menu bar with a File->Open button from where the user can select a file from hid hard drive. The File menu should also have a list of the most recent opened items, like many other applications show. Does anyone know what is the best approach?
I would suggest using the Preferences class to persist the most recently opened items. That way, if the user restarts the application the items will still be available.
Note that on Windows the Preferences class stores data in the registry, which is how many native Windows applications store and retrieve recently open file names.
Also, note that the Preferences class simply acts as an API for storing and retrieving (key, value) pairs. You will still need to decide how you wish to store the information, and be responsible for dynamically building / updating the JMenu when a new file is accessed. To accomplish this I would suggest implementing a Action (extend AbstractAction) to deal with when the user attempts to open a file. When the Action runs it should persist the newly accessed file's name to the Preferences class and dynamically rebuild the File JMenu (in addition to opening the file).
Motivation
I have written an eclipse plugin that shows me a list of all files and folders with unreviewed content. When selecting a folder, I want an editor to open showing all files and subfolders that this folder contains. It has to work for versioned items, too. So I have to create the content of the editor within my plugin (no backing IResource).
What I currently have
Right now I'm opening a RemoteFileEditorInput for a versioned file (subclipse) or I'm using IWorkbenchPage.openEditor() for a FileEditorInput.
Question
What's an easy way to visualize dynamic content (directory listing) inside of an text editor?
EDIT 2010-04-13:
More Context
I want to be able to create some code review comments on a directory listing. For this I want to be able to open a diff viewer to see which elements were removed or added between two revisions of the directory.
I'd like to enter a comment for a directory the same way I do for a text file. That's why I try to display the directory content as a text file - I've already implemented the mechanisms for commenting a text file.
I call the content of the directory editor "dynamic", because it's not really backed by an existing directory in the filesystem. For older versions of a directory I will create the editor content within my program code.
I'm afraid I don't totally understand your question (and I lack the rep to comment on it).
Is this right?: You want to be able to open one of three editors in support of your goal:
An editor for unversioned files (you say you have this)
An editor for versioned files (you say you have this)
An editor for directories (this is what you need?)
What does the user do here? What does it look like?
I'm confused by "What's an easy way to visualize dynamic content (directory listing) inside of an text editor?"
Knowing that I probably completely miss your point, I would note that your editor can contain whatever controls you want it to (cf. some of the "forms" editors in PDE, like for editing a plug-in manifest) - you'd probably extend EditorPart, maybe create a ManagedForm in your createPartControl(), create a ListViewer, TableViewer, or TreeViewer in there, give it an appropriate content provider, and give it an appropriate label provider.
I'm also confused by "What's an easy way to visualize dynamic content (directory listing) inside of an text editor?"
I can only assume that you want to somehow poll or listen to some events and tell your viewer to update() or refresh().
Finally I would question whether the directory listing really belongs in an editor . . . most navigation happens in views. Will the user actually be performing edits to the directory somehow, and possibly "saving" them at some later time?
I hope this helps us all narrow down into whatever will help you.