Tab View not showing in interface builder and compiled app - xcode

I was adding a component to my tab view in interface builder, when all of a sudden everything just disappeared. All I have left now is an empty "Custom View". However the tab element itself still exists in the sidebar. And I can drag it out of the custom view and it will show up fine. But when I drag it back in, it disappears again. What could the cause of this be?
To that end, I have a lot of issues with tab views in general, a lot of times the tab contents disppears in interface builder, and I have to first click on another tab button and then return to the tab I was working on to make it show again.

Related

macOS Topbar "Refresh" dropdown menu selection to cause WKWebView refreshing?

I'm trying to figure out how to map a Topbar menu selection to run a function. That function, in this case, would be to force WKWebView to refresh itself.
I'm not at all sure where to start from.
Main.storyboard allows me to delete, modify or add Topbar dropdown menus, so I have created a Refresh entry to the File -menu.
I've mapped it to CMD-R - since that feels like the most intuitive shortcut to run for Refresh.
If I ctrl-click on the Refresh -item in the hierarchy in Main.storyboard - I can connect it to First Responder and select reloadFromOrigin.
After building the app, pressing CMD-R will refresh the WKWebView.
However, the Menu item itself is not enabled, it just shows as grayed out. After pressing CMD-R once, the menu item is enabled.
How do I make it "be enabled" at the start of the app?

How to mouse hover using Blue prism on a web page

I am trying to mouse hover a menu option using blue prism. I tried HTML/Win32/AA/Region mode while spying but none of them worked. If I click on that element, I will be navigated to a different page.
Any pointers will help.
Thanks
Not sure if you still need an answer on that as this question is more than month old.
If I understood you correctly, you want to hover mouse pointer over menu and then select one of the options from the drop down list. If so, there might be some options to achieve that without clicking on the menu itself.
If you want to open same link every time you navigate through this website, then you can launch the target URL instead of navigating through the menu.
Some HTML elements doesn't need to be visible to be active, on some websites you can 'click' on menu item without it being presented in form of drop down list. You can try to spy that element and navigate directly to it. If you won't be able to spy it you can search for correct element in application tree (Application Modeller -> Select some element -> click on arrow next to Identify button -> Open Application Navigator). Then you can use Mouse Click on that element via Navigate stage.
I've tried to imitate mouse hover on some website by spying whole browser window with Win32 mode, and then using Drop option in Navigate stage, giving the menu exact coordinates. Seems to be working, you can try this option as well.
You can test how menu reacts on Focus method in Navigate stage, but I wouldn't get my hopes up with this option.
If you share link to the website, then maybe I'll be able to help more.

How to switch focus to the Inspector tab in Firefox Web Tools?

A button in a website triggers a popup menu when clicked (only when clicked, and not when hovered over). I want to be able to inspect this popup menu but after I right click it and select "Inspect Element", it disappears so I can no longer inspect it.
When the popup menu is displayed, I can see that an entry for it appears in the HTML in the Inspector tab but when I click the entry, the popup menu disappears an so does the HTML entry.
For cases in which a menu appears when a button is hovered over (not clicked) I would click an entry in the Inspector tab to switch focus to it, then I would just hover over the button and use the arrow keys to navigate to the entry in the Inspector tab. But since this button needs to be clicked, then I lose the focus on the Inspector tab.
I thought this could be solved by switching the focus to the Inspector tab in Firefox's Web Tools without clicking anything.
I've tried using different shortcuts such as Ctrl+Shift+C or Ctrl+Shift+I (opens the Web Tool) but I haven't been able to switch the focus to the the Inspector tab to navigate through the HTML after using these shortcuts.
I've also tried using inspect mode (the button left of the Inspector tab), which lets me inspect anything I click. The problem with this method is that to get to the menu I need to click a button first and inspect mode only inspect the first thing I click. Maybe there's a way to ignore the first click while on inspect mode?
EDIT:
Pressing the TAB key numerous times, sometimes focuses on the Inspector tab. Sometimes it just loops through the elements in the website and never focuses on the Inspector tab. Even so, the times I was able to use TAB to focus on the Inspector tab, the popup menu disappeared after pressing TAB about 20 times so I need a different method that doesn't use the TAB key.
I have a deviantart account so I was able to reproduce the issue you described.
The problem is that the popup that appears on click is hidden when the window is blurred or when the page gets clicked. And because focusing the inspector will always cause the content window to blur, there's no way you could switch over to the inspector while keeping the popup displayed.
So, as #Callahad said in a comment, the only viable option here is to use a breakpoint to force the javascript code to pause at a certain point in time that lets you inspect the popup without having it be closed under you.
Now, the question becomes: what is this point in time, and how can you set a breakpoint there.
When the popup appears: this happens when the edit button's element is clicked. If you could add a breakpoint to this exact line in the debugger panel, then you'd be able to click on the edit button, and step through the code until the popup is shown, and then switch over to the inspector again to inspect it. Unfortunately, the javascript event handler for this is in a onclick attribute on the node, and you can't set a breakpoint there.
When the popup is about to be hidden. This happens on window blur. To set a breakpoint there, you could try and follow these steps:
find the html element in the inspector (that's the element where events added to window are shown),
click on the [ev] icon next to it,
find the "blur" event in the list that appears,
click on the debugger icon next to it, this takes you to the debugger at the right line, hopefully
maybe pretty-print the code if needed, using the {} button in the lower left corner of the debugger
add a breakpoint at the right place in this code
and then just click to show the popup, and then click outside the window, this will pause the javascript execution where you added the breakpoint, which is, just before the popup gets hidden, therefore giving you a chance to switch over to the inspector and inspect the popup before it closes.
The popup also gets hidden on page click, so you could do the same thing by looking at this event.
Another valid approach could be:
Override the code that hides popups! Javascript is dynamic, so you could totally turn this to your advantage. Find the function in the deviantart code that hides popup, and change it.
By quickly looking at what was on the window object in the web console, I got lucky and found: Popup2.hideAll. So if you just run this in the web console: Popup2.hideAll = function(){}, and then open the popup, it will just stay there and never get hidden again until you reload the page. This gives you a good way to inspect it.
Last, one very good way to work with DOM changes like this would be to have the "break on DOM mutations" feature in the devtools. Firebug has this, Chrome devtools too, unfortunately Firefox doesn't yet.
The idea of this feature is simple, in the inspector: right click any node (in this case, the parent element of where the popup would appear in the DOM), select "break on mutation", then click to open the popup. When the popup gets inserted into the DOM, devtools would see this and automatically halt javascript execution.

Toolbar buttons are disabled by default for Lion Cocoa app

I've created an interface nib/xib file. The app is basically working, which is cool. The standard toolbar buttons look bad, they're glossy and raised, while most apps in Lion have the flat, inner bevel look. So I created some image toolbar buttons and put them in the toolbar and they look great, but they're all disabled by default.
Is there a way to give these the correct state in InterfaceBuilder or do I have to use code to give them the proper state.
Cocoa and Objective C are very unfamiliar so it would be helpful to me if I just knew what to search for. Most of my searching brings me results for creating custom buttons for iOS.
I figured this out, here's what you do:
In the nib/xib file, double click your menu bar to show the "allowed toolbar items" sheet. From here, choose your button that you've created. In my case I'll select a back button that I want to connect to a webview control. Ctrl click + drag from the button to what you want to connect it to and then make the appropriate connection. In my case I choose goBack from the WebView.
Once it has a connection it now becomes active.

How to load second view in Preference window cocoa

I am developing a cocoa application for mac. I have created a preference window with four buttons in toolbar. I am loading views on click event of buttons. Its working fine.
What I want to know is how to load another view on click of button in a view. Like in preference window of Safari, there is tab named with Privacy. And there is a button 'Details...' in Privacy tab. When we click on that button it shows a new view which shows a list of cookies.
Any Idea how to load view like view loaded on click of 'Details...' button???
There are several approaches, depending on what you're trying to accomplish. The easiest is probably to create the view you want, but make it hidden when you don't want it to be visible. Then when the user presses the "Details…" button, make it visible (and possibly expand the window if necessary) by calling [-NSView setHidden:NO].
Another way is to make the view a separate view in your .nib file, and when the "Details…" button is pressed, insert the view into the appropriate window using [-NSView addSubView:].
You could also create the view at runtime when the user presses the "Details…" button. That seems like a lot of work, though.

Resources