NSWindow with full size content view double click action - swift

I've created a new project with an empty NSWindow (zero code - simply configured it in .xib) and have set it to show the title bar but hide the title text, along with a transparent title bar & full size content view.
This works - I can drag the transparent title area at the top to drag the window around. However the standard double-click action no longer works.
I've set system preferences to minimize the window on a double click. It does nothing. I could potentially add a fake NSView where the transparent title bar is and handle a mouseUp, but there seems to be no way to determine if the user has selected "Zoom" or "Minimize".
How do I solve this? The solution presented in the question seems to work, however as I mentioned, I need it to minimize instead of zoom (rather - I want it to perform the default double-click action).

Seems like the only way is to read it off of an undocumented user default:
if UserDefaults.standard.string(forKey: "AppleActionOnDoubleClick") == "Minimize" {
window?.performMiniaturize(nil)
}
else {
window?.performZoom(nil)
}

Related

Unable to target button that has no control with pywinauto

I have a problem trying to click a button (which is not actually a button control) in a ClickOnce application I'm automating. It's located in "ViewManager1 pane" according to Inspect.exe, but there are no children of this pane and no controls. Looks like this:
The only thing I've been able to come up with is using the pywinauto.mouse.click function with coords. However, I don't always know the size of the window. I can maximize the window and click it, but I would like to be able to find the coords regardless of the window size. The problem is the button I want (Active Directory) may be left of center or right of center depending on the window's size.
More acceptable would be to resize the window (instead of maximize) and then click the coords, but I can't figure out how to resize it. The window's actions from Inspect.exe are as follows:
Window.SetVisualState only allows Minimize, Maximize, or Normal. I thought about calling .rectangle.mid_point() to get the center coords of the pane, but I don't know how to find the button from there since it moves based on window's size.
Is there any way that I can find the coords of the Active Directory button, or alternatively resize the window?

How to edit the objects in FileMakerPro

I have one doubt in filemaker pro. In my project I have one layout with a button(Lets say layout1). If I click on the button, it is navigating to next page(Lets say layout2). If I go to layout mode in this page(layout2), it is showing the layout mode of previous page(layout1). I checked the button setup in this page(layout1). It is calling some script(Lets say script1). In the script(script1) it is calling some object using "go to object[object name:nameoftheobject]". I want to make some changes in layout2. Is there any way to find this layout or suggest some ideas to edit the object 'nameoftheobject'?
Your script does not change the layout, instead the interface is re-drawn by going to an object covering a whole layout. It could be a hidden tab control, popover or slide control. Duplicate layout and try to select all and apply a visible border.

Access Menu sub form - No default Tab stop

I have a main form...imagine that...that for most of my users will be the only form they use. Naturally, it contains tabs with sub forms.
I have a navigation sub form on the left side of this form that changes based on the user's rights level. Currently, this sub form is all buttons...and 1 always is selected as the default tab stop for that form.
I don't want to highlight any of them at first...and I can remove the highlight by switching off Tab Stops for all buttons. However, I'm not sure that I want to remove that functionality all together...and it still highlights a button. I'd just like for there to not be a default button highlighted.
As you can see, Add Course is 'selected'. I can't seem to find the correct terminology to search for a way to do this. I tried using a smaller button set behind another button, but since it has the focus, it moves to the front. Using a text field with the same colors as the background shows the cursor in a random, blank area...not visually ideal.
I'm sure that there is someone here clever enough to have this figured out. Please enlighten me. I don't care if this can be handled in VBA code or through design view.
"Focus" is the word you're looking for - you don't want any visible control to have the focus when opening the form.
The easiest method is an invisible button: create a button with Transparent = True, and an empty OnClick (i.e. the button does nothing, even when accidentally clicked).
Move this button to the top in the Tab Order, so it has the focus when opening the form.
But if your users use TAB to walk through the buttons, there will be one position where the focus disappears (when circling around from the last to first control). I don't know if it will confuse them.
Create a button on the main form itself.
Named is cmdDummyButton with the following GotFocus event code.
Set the tab order property to 0 (ie first)
Make the button transparent.
This will cause no control on the form to have the focus when it starts up.
Private Sub cmdDummyButton_GotFocus()
Static IveHadFocusAlready As Boolean
If Not IveHadFocusAlready Then
Me.cmdDummyButton.Enabled = False
IveHadFocusAlready = True
End If
End Sub
Sweet.

Does anyone know which ui class can show the red delete icon on the left top corner?

When you use your safari on iphone, you can see the page control on the right bottom corner.
If you press this button, all pages will show, also they can be edited too.
I try to do the similar thing like this.
I want to press my edit button on the toolbar, then all the subview will appear a delete control on the left top corner(right top corner all ok). I tried to use the tableviewcell(setEditing method), it show the delete control, but isn't appear on the top corner.
Do you have any ideas? Or, Am I doing something wrong by using tableviewcell?
A table-view cell definitely isn't the right approach here. That editing control is a custom one, probably a generic UIButton with a red-encircled X graphic. There isn't a built-in class that'll give you the behavior you're looking for; you'll have to roll your own, probably using a UIScrollView (with pagingEnabled set to YES) with your “page” views laid out in a row inside it.

Interface Builder - Custom Button with Title text

When I set up a custom button in Interface Builder it hides the Title text.
Do you have to create the text for the button too or is it possible to change the Z order so that the Title appears on top?
You are probably setting the 'Image' property of your button instead of the 'Background' property.
'Image' appears over your text, so either programmatically or in NIB(way simpler), set the 'Background' image to your desired png, and set the text for the desired button 'State Config'(default, selected etc), Leaving the 'Image' property blank.
The title by default appears on the top and in no case the text goes behind the button...
Still follow the below steps
1. Drag uibutton to the view
2. Select UIButton
3. Click on the first tab of the Inspector
4. Then Enter the title over there.
The title entered will be on the button..
Hope this helps
For a custom button, I fixed the same problem by going in interface builder and in the tab where you can set up hte title, image, background, etc., if you look lower, there will be a section titled "Control". In that section you can change the alignment and there are also some checkboxes for "Content". Put a checkmark in "Enabled" and "Selected" and it should work. Ensure to have populated the title for the various states of the button.
It may be related to the State Config attribute. I had the same problem and solved it by doing this:
Select your button
In the utilities pane (right pane), select the Attribute inspector (4th tab).
Change the State Config (2nd attribute) to the value "Default".
Enter a Title and press Enter (I tried changing it directly on the button but it is resized automatically).
You may switch back to your previous State Config if it is what you need.