How do I create a multiline wxNotebook for gtk? - gtk

wxWidgets provides for notebooks with multiple lines of tabs only on Windows platforms. Is there a simple way to provide similar functionality on GTK based platforms, or am I stuck with the only option being to create a customized notebook class that supports it?

As you say, you are stuck with the only option being to create a customized notebook class that supports it. GTK solves the "too many tabs" problem by providing left and right arrows with which you can page through the tabs.
Multiline tabs are a horrible idea anyway in my opinion. Take a look at these monstrosities.

Related

Is there a extension to help visually grouping tabs in VSCode?

When working with multiple tabs open, it is important to be able to identify which tabs "go together" or are more important than others. Is there a extension to VS code that let you assign different color for each tab individually or somehow otherwise group tabs together without wasting screen estate using split views
As of today it looks like there are no extensions allowing this. VSCode's team intentionally doesn't want extensions to change the VScode UI, so it looks like it won't be possible with an extension anytime soon.
It is a feature I would very much like to see in VSCode too, there is a feature request on github. Vote to get it seen and maybe added to VSCode !

How to draw on the background in a vscode extension?

Is it possible to make an extension that draw lines on the background? You can decorate a lot of thing but I can't find a way to draw colored lines.
I would like to see the flow of my data (inspired by visual programming).
Something like that (but the like drawn under the text) :
Keep in mind vscode is an add-on to Electron, which is a webbrowser in a desktop raiment. So what you see are webpages and hence everything what's possible on a webpage (with a node.js basement) is also possible in vscode - at least in theory. I say "in theory" because after all vscode is a text editor and limits interaction in a way that supports this goal. So, what you can is either some drawing/graphics or add extensions that work in normal editor pages. You certainly don't want to write your own text editor interface within vscode.

Implement page scrolling (like hand tool in Acrobato Reader) in my Eclipse Plugin Editor

I'm developing an Eclipse Plugin Editor that has a Flyout Palette with several tools in it (like selection and so on).
I was wondering how to add a special tool (let's call it "hand tool") that scrolls the page in the same way the "hand tool" of the Acrobat Reader scrolls the page of a PDF document.
I'm googling for some ideas of how to tackle this problem, but with no success, so far. Could you please give me some hint?
Thanks in advance :)
I assume you are using GEF? My answer may be trivial, but i'm trying to throw in some ideas.
org.eclipse.draw2d.Viewport class has pair of getViewLocation()/setViewLocation() metods. It seems that using them you can scroll your view as desired.
Now you'll need a tool. Explore the hierarchy of org.eclipse.gef.tools.AbstractTool descendans to find some examples of desired behavior and create your own tool class for your functionality.

windowbuilder jface actions in swt designer

I'm writing a JFace standalone application using eclipse/windowbuilder pro. Windowbuilder is a nice tool to work with, but I'm having trouble finding information on the organizational structure of such an application.
Currently I'm extending the standard ApplicationWindow class (as is standard in windowbuilder examples) for the main window of my application and subclassing SWT composites for my 'sub windows' in the application. The problem I'm having is that I lose the ability to use JFace actions / databindings when I'm graphically building SWT Composite subclasses in windowbuilder. The palette for adding JFace actions is inaccessible when using SWT designer while subclassing standard SWT components. I've searched at length for how to add this palette to no avail (the standard method fails since this isn't a 'normal' palette that appears in the palette manager). I've also tried adding the JFace action component to my existing palette, but can't find documentation on how to add an abstract class (Action) to the palette. I know that I can write all the code I want by hand, but it defeats the purpose of using windowbuilder.
I'd really like to stick to the standard JFace viewer/action model, but I can't figure out which components I should be subclassing for my 'sub windows' in my app. I've tried subclassing the Window class directly but this doesn't yield access to windowbuilder's JFace Actions palette. I'm not sure under what conditions that palette is accessible (I've been iteratively removing and adding components to ApplicationWindow, I'm getting desperate). I have a few custom widgets that I'd gladly write JFace Viewers for if I could figure this out.
Any windowbuilder fans out there? Is subclassing SWT Composite a reasonable/standard way to go about making components of this application? What is the standard for writing apps that are more complicated than a single ApplicationWindow? I've searched high and low, but can only seem to find tutorials and examples that are a single application window -- nothing composite. I feel like I'm missing some key pieces of information with regard to the structure of more complicated JFace applications. I suppose my holy grail would be the JFace version of SWT Composite that would allow me access to JFace actions code generation through windowbuilder.
Any tips and/or reading material explaining standard JFace design for larger applications would be appreciated!
I've been working with WBPro for about 6 to 7 years now... I think we can have a conversation about your problem. I might not be able to answer your question completely, but I will do my best. So, first off, for your sub-windows you should use JFace Dialogs. You can create a template one from New>Other>WbPro>JFace>Dialog or just subclass it yourself. You can also use TitleAreaDialog which is cooler and has a Title Bar at the top just like all Eclipse Dialogs. These two classes are both within JFace and are available in WBPro.
You have the JFace widgets and viewers available in the Design Tab, but not the actions. But the reason for that is that Dialogs and sub-Windows do not have Toolbars or Menu bars, I think that's why they are not there in the palette, but if you have a Context Menu for one of your inner widgets, I think you should implement that yourself. I can dig a little deeper for you if you want, se tell me if there is still something to address.

Changing the look and feel of an SWT tabs

I'm using SWT CTabFolder to build tabs in my application. I kind of dislike the visual appearance of tabs, it too Eclipse-like. Is there a way to change the aspects of tabs? I'd like to change the close button for example, the placement of tabs, their appearance maybe...
You could use CTabFolder.setRenderer(CTabFolderRenderer renderer) and implement your own renderer.
If you don't want the code to be portable, on Windows, you can even make it look quite close to the native one, if you use OS.DrawThemeBackground() method (see parts and states). Unfortunately this method can only be used when themes are enabled, so it will not work on classic theme, because there is no type for tab items to be used with OS.DrawFrameControl() (see types and states).