Dynamically change a status bar icon in an IntelliJ IDEA plugin - plugins

I have an IntelliJ IDEA plugin that adds an icon to the status bar.
How can I change the icon dinamycally? I am using StatusBarWidget and StatusBar.addWidget() to add the widget to the status bar, with a StatusBarWidget.IconPresentation.
The only thing I could find is this http://devnet.jetbrains.com/message/5522935 but it only applies to AnAction, not a StatusBarWidget class.

Implement com.intellij.openapi.wm.StatusBarWidget.IconPresentation#getIcon to return an icon dynamically, you may look into IntelliJ sources for an inspiration. You may also need to call com.intellij.openapi.wm.StatusBar#updateWidget

Related

Search bar with SmartGWT

Hello I need to make a searchbar encapsulated into a toolstrip bar with smartgwt or even gwt
No hints available on net but I really need to do it
GWT does not contain any such build-in method. You need to build the search bar manually by coding.
But SmartGWT definitely contains such built-in functionality, where you'll get searchbox on top of every column.
For a working example, please have a look at the following link:
http://www.smartclient.com/smartgwt/showcase/#grid_sortfilter_filter

JavaFX 2 custom popup pane

The JavaFX 2 colour picker has a button that pops up a colour chooser pane like so:
I'd like to do something similar, in that I'd like a custom pane to pop up when the button is clicked on and disappear when something else is clicked (in my case, a few image thumbnails). What would be the best way of achieving this? Should I use a ContextMenu and add a pane to a MenuItem somehow, or is there something else I should look at?
It's kind of difficult to do well with the current JavaFX 2.2 API.
Here are some options.
Use a MenuButton with a graphic set in it's MenuItem
This is the approach taken in Button with popup showed below's executable sample code.
Use a PopupControl
Take a look at how the ColorPicker does this in it's code.
ColorPicker extends PopupControl. You could do this, but not all of the API required to build your own PopupControl is currently public. So, for JavaFX 2.2, you would have to rely on internal com.sun classes which are deprecated and will be replaced by public javafx.scene.control classes in JDK8.
Use a ContextMenu
So, I think your idea to "use a ContextMenu and add a pane to a MenuItem" is probably the best approach for now. You should be able to do this by using a CustomMenuItem or setting a graphic on a normal MenuItem. The ContextMenu has nice relative positioning logic. A ContextMenu can also be triggered by a MenuButton.
Use a Custom Dialog
To do this, display a transparent stage at a location relative to the node.
There is some sample code to get you started which I have temporarily linked here.
The sample code does relative positioning to the sides of the main window, but you could update it to perform positioning relative to the sides of a given node (like the ContextMenu's show method).
Use a Glass Pane
To do this, create a StackPane as your root of your main window. Place your main content pane as the first node in the StackPane and then create a Group as the second node in the stackpane, so that it will layer over the top of the main content. Normally, the top group contains nothing, but when you want to show your popup, place it in the top group and translate it to a location relative to the appropriate node in your main content.
You could look at how the anchor nodes in this demo are used to see how this might be adaptable to your context.
Is there a relevant update for this for JavaFX8?
There is not much difference of relevance for Java 8, in general the options are as outlined in this post based on Java 2.2 functionality. Java 8 does add Dialog and Alert functionality, but those are more targeted at use of dialogs with borders, titles and buttons rather than the kind of functionality desired in the question. Perhaps you might be able to start from the Dialog class and heavily customize it to get something close to what is needed, but you are probably better off starting from a blank stage or PopupControl instead.

A gwt dropdown ListBox that can have values manually type in?

Our GWT based application needs a font size selector. Ussually people will want to pick the font size from a set of standard sizes. Sometimes however users will want to manually type in a specific font size like '12.6'. We obviously cannot put ever tenth of a point option inside our font size dropdown so a dropdown that can have any value entered manually would make the most sense.
I was told simple-gwt has a widget called ComboBox but it appears to be meant for an older version of gwt (we are on the latest - 2.4). Suggestbox would work except there is no "dropdown" arrow to popup the suggestions so users who do not want to type the size cannot use it.
Any suggestions? I was surprised this widget was not built into GWT.
The widget to use is the SuggestBox - you may or may not be able to extend it to use a click handler to show a set of default suggestions (there may be a property to allow it) and to use CSS to show a dropdown arrow.
javadoc here: http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/SuggestBox.html
Example here: http://examples.roughian.com/index.htm#Widgets~SuggestBox
I know that Smart GWT and ext-gwt have widgets that provide this kind of functionality, but neither of those libraries are free.
Of course you could always roll your own.
I found this library "Advanced GWT components". It is a free library that has drop in GWT widgets.

How to disable hover effect to highlight menu items in GWT MenuBar?

I am making a vertical Menu using GWT MenuBar and selection of particular MenuItem shows content on the right, I am trying to make something similar to TabPanel, but with Tabs on left instead of being on top. Now, since I've got the Menu items and actions in place, I want to remove the effect of hovering over and changing color, and keep that menu item selected which was clicked last and whose content is loaded on the right.
I am open to any comments, if you have a better solution to implement this, using some other components(with-in) GWT, please drop in a comment with your suggestions, I'll really appreciate that.
Or if you can just tell me how can I disable this effect, of hovering and sticking to only that selection, That would be awesome too..
Thanks to everyone, taking time to read this and suggesting a solution.
It's all defined in the CSS of your GWT's theme (probably the default one), so it's a matter of overriding those styles - make sure it's not the other way around :) Inspect the code with a tool like Firebug to see what's exactly being set and change that.

GWT Collapsible Panel found in common google services?

The GWT Incubator contains this widget, but it doesn't provide the clean look and feel I am looking for. The Same page does show precisely the widget I would like to use:
A thin resize bar with the small middle arrow icon which is clicked to hide/show a docked panel on the side of the page.
The widget appears on many google services pages, which makes me suspect that it may be a common widget:
Google Reader
Slightly modified (animated) version on Maps
Does anyone where to find or know how to build this widget in GWT.
How about using a VerticalSpliPanel and overriding the OnClick event? On click you can hide your navigation panel.
I don't think Maps and Google Reader are build using GWT. I know Wave is, and it doesn't use the collapsible panel you're looking for... My guess is that this specific widget is not available in GWT but you may be able to find a suitable replacement. Let me know if you do.