I want to create a CKEditor widget that holds, among others, an image and a link.
Does the widget and dialog API enable extending/reusing an existing widget (in this case, the image2 widget) by reusing another existing dialog (in this case, the link widget) ?
Related
I have a container with columns, in each column a different container. Now I want to click on a container (column item) and do something with that container.
Is it possible to create a click (tap) event on a container?
Or (which I like to avoid if possible) do I have the make a custom widget from this container?
You can add a tap handler to any widget through extension (see https://developer.fyne.io/tutorial/extending-widgets). Your custom widget would embed an existing one and just add the Tapped method to enhance it. This avoids making a completely custom widget.
This is the design of Fyne - enhancement through extension instead of every widget implementing every possible combination of events.
I want to be able to press a button and an image appear on the page.
Additionally, I want to be able to place the button with Y and X coordinates, not through layouts.
Would I need to use an image view?
Your question isn't very precise, so I hope I answer what you need.
To show an Image generally you need an ImageView, that is correct. For less common image formats you might need an external library.
To only show the image when the button is clicked, you have to first set the ImageView to not managed and not visible. Then when the button is clicked make it visible and managed and it will show.
About the absolute positioning of your button, you can override the layout children of any Parent object and set exact positions. Take a look at this question.
Is it possible to set focus to an Image control (Windows.UI.Xaml.Controls.Image) in WinRT? I'd like to be able to set focus to it programmatically and detect key presses when the image has focus.
No, but you can put it in another control - e.g. a Button or ContentControl and handle key presses on that, show focus indicators etc.
According to the MSDN Documentation on the Image Control the answer is no.
The Image class and accessibility
The Image class is not a true control class in that it is not a descendant class of Control. You can't call focus to an Image element, or place an Image element in a tab sequence. For more info on the accessibility aspects of using images and the Image element in your UI, see Exposing basic information about UI elements.
Steps to reproduce in designer for Qt 4.8.0
I create a new dialog form in Qt Designer
I add a QStackedWidget to the dialog
I set the layout of the dialog to make the stacked layout size with the dialog
I add a few controls to page one in the stacked widget
I select the first page in the stacked widget in the right hand tree view of controls
The icon next to that page (which is a QWidget) shows the page is missing a layout
When I click one of the layout buttons above, it doesn't change the layout of the page QWidget, it changes the layout of the dialog even though I had explicitly selected the page.
Is this a bug in designer? Am I missing something? I really don't want to add the layouts programatically as that prevents me from being able to layout the pages in designer in the same .ui file
Clicking a widget page in the object tree brings that page to the top of the stack, but it does not select it.
In fact, it is not possible to select a widget page itself - only its child widgets can be selected (as well as, of course, the parent stacked-widget).
The easiest way to set a layout for a widget page is to:
bring it to the top by clicking the little arrows on the top-right
corner of its parent stacked-widget
set the appropriate layout using the buttons on the toolbar
Note that it is not possible to set a layout on a widget that does not have any child widgets.
(If there is a bug here, it is that the toolbar buttons should really be greyed-out when clicking on a widget page in the object tree that has no child widgets. When the stacked-widget arrows are used, the toolbar buttons are greyed-out correctly).
It's not a bug in designer, but it's not very intuitive either. You need to click within the stacked widget page itself (where your controls are) and then click one of the layout buttons in the toolbar. Clicking the page in the tree view won't select the page for you.
If i create WinForms / Qt / Gtk application i use so called "layout managers" (or "geometry managers") to automatically layout my UI according to text inside widgets and my instructions. For example, if i layout a window with big edit field and 2 buttons below it aligned right i write following code "Create a window with vertical layout manager. Add edit widget as first item and horizontal layout manager as second item. For horizontal layout manager add spacer as first item, button as second and button as third". My window will be automatically resized according to button labels and edit field size. Also, if i resize my window all items will be resized automatically.
Is it something like layout managers for OSX? I have found that NSView can be added into hierarchy, but i can't find any ways to instruct parent NSView something like "arrange child NSViews vertically".
You should read about Cocoa Auto Layout, new in OS X 10.7.