I've developed a quick and simple plugin that adds line markers for lines containing the text "TODO", based on the "Plugin with an incremental project builder" template.
It works, but markers are not persisted between Eclipse sessions (restarts).
I have the following element in my plugin.xml:
<extension
id="todoTask"
name="TODO Task"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.core.resources.taskmarker">
</super>
<persistent value="true"/>
</extension>
Again, the plugin works fine, so this is processed, but it doesn't seem to matter if I set the persistent value attribute to true or false, it just doesn't persist the markers.
Why aren't the markers persisted and how can I fix this? Do I need to perform additional programming/configuration to persist them? Thanks.
I found out what the problem was through trial and error. The marker id needs to have a dot in it in order to actual be counted as a marker type. So in your case try setting id="todoTask.marker" for example and then calling someResource.createMarker("todoTask.marker"). Oh, and maybe write the id with lower case letters, just to be on the safe side
Related
I am just starting my dive into Blender coming mainly from Quake's Radiant. I am trying to research whether it will fit the need I have for a level editor replacement. So with that in mind, here is my question:
What is the best method for creating and storing a set of prefab "entity" objects such as health packs, ammo pickups, and "moveable" objects such that they have a set of "properties" that can be changed within Blender?
I have found this page, but I am still getting lost as to how to integrate them on a per object basis and achieve the desired result:
https://docs.blender.org/manual/en/dev/editors/properties_editor.html
Note: It is not my goal to use the Blender game engine - just attach values to things for me to export to my own engine.
Edit1: Found an article discussing the topic although it seems very outdated:
https://www.gamasutra.com/blogs/IwanGabovitch/20120524/171032/Using_Blender_3D_as_a_3d_map_editor_rather_than_programming_your_own_from_scratch.php
Example:
// entity 105
{
"inv_item" "2"
"inv_name" "#str_02917"
"classname" "item_medkit"
"name" "item_medkit_11"
"origin" "-150 2322 72"
"triggerFirst" "1"
"triggersize" "40"
"rotation" "0.224951 0.97437 0 -0.97437 0.224951 0 0 0 1"
}
While we can manually add custom properties to any object, these are added to the specific object so can be unique to each object.
A better way of integrating new properties is to use bpy.props, these can be added to an objects class in blender, this means every object will have the same properties available.
You can setup a custom panel to edit your properties, like this simple example. Both the properties and panel as well as your object exporter can be defined in an addon which you can have enable at startup so that it is available every time you run blender. An addon also makes it easier for you to share your game editor with others.
The link I found seems to be the best option and allow for the most flexibility. The source code for the Super Tux Kart plugins serve as a great reference implementation:
https://sourceforge.net/p/supertuxkart/code/HEAD/tree/media/trunk/blender_26/
We are working on a React application (using Create React App without ejecting it) and we decided to use Ant as our base component library.
Now that we are near the end of the project, we discover that the application will be integrated into a corporate portal (WebSphere) as a "portlet", so we inherit all the CSS files from the main page.
Both frameworks seem to have their own reset styles, but they use different values.
So far, I have not been able to find a LESS variable in Ant that can be used for prefix all Ant's CSS rules.
Has anyone ever tried to make them live together?
We don't own the parent development, we can only make change on the React part, so only things related to Ant.
We finally go with a specific CSS patch file, and we add rules when needed.
Not really perfect, but none of the suggested path did the job we expected.
Here you can see some of the default antd variables.
One of them is #ant-prefix: ant;. I think you can change it and apply different styles.
That is a tough one, and at the end of development no less!
As #froston mentions, and which you seem to have tried the #ant-prefix: ant; in addition to this you will need to se prefixCls as a prop on every component instance you create, which will definitely be an exercise in self-flagellation.
Even if you set a global CONSTANT and import and use this with your components, you still have to thread it through to all the places, and will need to be appended with the component name.
By way of example, the defaultProps for an anchor is prefixCls: 'ant-anchor'.
Hope this helps and good luck!
I have created a module by copying module-simple. I have everything working well. However, the layout does not follow the layout.xml specification - I did not change anything except to rename the file.
This is the SimpleObject view.
This is my ZiemObject view - only the name is changed.
When I remove the layout.xml and try to use #MemberOrder(name=..,sequence = .. ) I get nothing but the basic object view.
What am I doing wrong?
It isn't clear to me from your question, did you rename the layout file to ZiemObject.layout.xml ? I guess it must be because a layout is the only way to specify tabs. Could you paste a copy of it here?
Even better, perhaps you could upload your app to a github repo so we can take a deeper look?
UPDATE:
I downloaded the sample app from the github repo, and what's there works as expected...
the ZiemObject.layout.xml controls the member order of the ZiemObject, and because it is present the #MemberOrder annotation in that class are ignored
Also, the notes property is no longer shown as multi-line because that metadata is only provided in the .layout.xml file
if I rename the layout file, eg mv ZiemObject.layout.xml ZiemObject.layout.xml.MOVED then the default layout is honoured. In particular, the (framework-defined) id and version fields are no longer shown in tabs.
(Also, the notes is no longer shown as multi-line because that metadata is only provided in the .layout.xml file).
If I change the #MemberOrder#sequence attribute for the name and notes properties to "2" and "1" respectively, then the order of these fields is inverted, as shown below:
Hope that helps
Dan
I created a sample plugin which needs to hide the java perspective. For that I used activities. The problems what happends is,it is hiding from the perspectives,but it is there still in the (recent opened perspectives). How can I hide it from there also? Following is my code.
<extension
point="org.eclipse.ui.activities">
<activity
id="com.example.activities.hideperspective"
name="Hide Perspective">
</activity>
<activityPatternBinding
activityId="com.example.activities.hideperspective"
isEqualityPattern="false"
pattern="com.example.activities.hideperspective/org.eclipse.jdt.ui.JavaPerspective">
</activityPatternBinding>
Is this the right way what I have implemented? One more thing, This hiding of perspective I am calling when I click a Button on the toolbar. That the that buttons location is also getting changed. some kind of refresh on the toolbar.
I have attached the screenshot as well.
The activityPatternBinding is plugin.id/perspective.id, where the plugin.id is the ID of the plugin that contributed the perspective, not com.example.activities.hideperspective. Also, it does look like an equality pattern.
Also, activities will show something (like a perspective) if any activity that points to that perspective is enabled. So setting one activity to enabled=false might not get rid of the perspective.
And finally, activities won't shut a perspective that is already open. It just removes it from the "Open Perspective" dialog/shortcuts.
I'm re-creating an AIR app with FB 4.5.1. (I've started from scratch, having had trouble importing FB 4 projects).
In the app.xml I have the following defined:
<systemChrome>none</systemChrome>
<transparent>true</transparent>
Having done this I still get a full window with titlebar, min, max, and close buttons.
what gives?
I believe you need to create a skin for the application.
This appears in Adobe's forum, and includes an FXP of a functional transparent app:
http://forums.adobe.com/thread/476699
Setting systemChrome & transparency along with "backgroundAlpha" to "0" would have helped in Flex 3.
But, skinning of components in Flex 4 i.e Spark components is little different and completely customizable.
Following are the steps you need to do make the window transparent.
Set systemChrome to "none" in the XML configuration file
Set transparent to "true" in the XML configuration file
Copy the skin code from <SDK_FOLDER>\frameworks\projects\airframework\src\spark\skins\spark\S parkChromeWindowedApplicationSkin.mxml and paste in a new MXML file.
Set the "alpha" property of "backgroundRect" object inside the skin file to "0".
Assign the newly created skin as the "skinClass" for "s:WindowedApplication" object
Please import the attached FXP file using "File->Import Flex Project" menu and have a look at the code to make it much more clear.
First, I discovered it is easier to interact with app.XML by opening it via "Open With -> Text Editor".
Second, and this is really embarrassing, I had simply failed to remove the comments bracketing
was:
<!-- <systemChrome>none</systemChrome> -->
<!--<transparent>true</transparent>-->
should have been:
<systemChrome>none</systemChrome>
<transparent>true</transparent>
...duh! I knew better, but...
Lastly, for a completely chromeless app, add
showStatusBar="false"
to the app header.
that's it!