Change position and dimensions of submit button - smalltalk

How do I go about changing the position and dimensions of a submit button in smalltalk/squeak? This is what I have so far:
submitButton: aModel
^PluggableButtonSpec new
model: aModel;
label: 'submit';
action: #submitName;
yourself
When I open a window in squeak, the button is really small and positioned in the upper left-hand position (the default position I assume).

This is the way I would find out:
You are using the class PluggableButtonSpec. Browse that (select the word, cmd-B/ctrl-B). That is a class in the package ToolBuilder-Kernel. I notice that it is a subclass of PluggableWidgetSpec. That seems to offer some layout related methods, like frame, margin, minimumExtent, padding, horizontalResizing (the setter has as comment "#rigid, #spaceFill, #shrinkWrap") and verticalResizing.
Perhaps I can find some examples of how these are actually used? Select PluggableButtonMorph and type ctrl-shift-N to get the class refs (or use the right-click menu). Hmm, the only user is ToolBuilder>pluggableButtonSpec. If I then click on the senders button in the class refs window, I get a window showing the 20 senders of #pluggableButtonSpec.
The first one is probably a good example, as it shows how the button bar in the class pane of the code browser is build. It uses a panel with a horizontal layout of its children. Then it creates the three buttons, of which the one with '?' gets shrink wrapped (just enough space to fit). These get added to the panel with a spacer between them. The result is a panel where two buttons divide up the resulting space, a spacer and a small button.
The other ones show the use of different layout methods.

Related

Illustrator toolbars glued together

I am new to Adobe illustrator and i don't really know how to search for my errors.
At the right of my screen i have some 'toolbars' (like pathfinder, swatches, ..) you can enable them by clicking on the 'window' option at the top and then selecting them. So i was arranging them at the right of my screen, when all of the sudden (i must have done something wrong) the pathfinder, swatches, color toolbars are sticking together and i can't 'unstick' them.
Also when i deselect one of them under the 'window' option all of them disappear.
They also don't expand the the bottom of the screen inside a container like element.
click, hold and drag the pathfinder or the menu of your choice to unstick them

What Cocoa Views and Controls Will Create Something like Part of the Network Prefs Display (Mac OS)? [duplicate]

This question already has an answer here:
NSTableView with +/- buttons like in System Preferences using only Interface Builder
(1 answer)
Closed 7 years ago.
I'm building an OSX app and want to create a set of controls similar to what's found at bottom of the standard Network Preferences configuration panel. I'm running into some layout problems that I wouldn't have expected.
These are my specific questions:
What contains the 3 buttons so there's similar shading all they way across the row where the buttons are positioned? In particular, what's causing the area without buttons to have shading?
How do you do this without getting a double border where the row of buttons meets up with the table?
I want to do this with an xib file. This may be incredibly simple, but I'm missing something I guess.
I find that if you make a button with style "Gradient" and type "Momentary Change", then it looks like the other buttons but does not respond to clicks, so you can use that as the area after the last button. (The NSMomentaryChangeButton is documented as changing the image and title when clicked, so if you don't use an image or title, nothing should change.)
If you check Refuses First Responder in the attributes inspector, then it will not be possible to highlight this blank button using Full Keyboard Access.
Ken Thomases also brings up the issue of the blank button being shown as a button to Accessibility. One can fix that by using a subclass of NSButtonCell that has just one method:
- (BOOL)accessibilityIsIgnored
{
return YES;
}
I think that's easier than writing a custom view.
As d00dle says, avoid double borders by slightly overlapping things.
Since you want the slack space to have the same background as the buttons, and since the buttons can change appearance from release to release of the OS, the best thing to do is to get the frameworks to draw it like it would the buttons.
Rather than using an actual button as JWWalker suggests, I have used a custom view that leverages NSButtonCell to draw the background. The advantage is that you can be sure there's no chance of getting undesirable behavior. For example, a button could get focus (for users who have All Controls selected in System Preferences > Keyboard > Shortcuts > Full Keyboard Access) so that the user could Tab to it. Accessibility will report the presence of the button through VoiceOver. Etc.
Configure the button cell just like the buttons (set buttonType and bezelStyle). In the view's -drawRect: call [buttonCell drawWithFrame:rect inView:self];, where rect is similar to the frames of the buttons. Since one way to avoid double borders is to make the buttons larger than the view's bounds, you may need to do the same for rect. For example, you might want to use NSInsetRect(self.bounds, -1, -1).
The buttons are buttons... This can be accomplished with a custom view drawing border and the background "shading".
To avoid the double border where the table and the custom view meet you simply align it so they overlap by 1 point (pixel) or avoid drawing the top border in your custom view.
I don't know of any standard object capable of doing this.

maximize listview when form window is strteched at runtime

I am using vb.net, I have created a form and there are two listviews in that form which are getting filled by button event. Every thing is going smooth, but the problem is when my exeute my project and in the form, when I maximize the form window(by clicking maximize button provided in the top right corner) the size of listview remains same while form maximizes, this looks odd, what i need is to maximize the listview also with the increase in the form window size.
I searched in google a lot and i found one property 'dock' of listview which i can set left, full, right,bottom,top or none, but this doesn't serve my purpose.
Snapshot when I am using Anchor property
On Starting:
After Maximizing:
Please guide me in the right direction, what I need to do
when no propety is set then image on maximizing is:
Thank you
With Regards
Better than Dock property, you have to use "Anchor" property. All controls on the Form has Anchor Top,Left by default, but you can change it in the property window or directly by code. You can know more about anchor on this site: http://www.homeandlearn.co.uk/NET/nets13p1.html
Anchoring two Listviews on a form depends on the form design, but SplitContainer control will be really usefull if you want that both Listview changes the size on form resize.

How can I see properties of hidden label?

I am reworded the above question.
Let's say I am using 20 toolbox buttons and or labels or whatever on a VB window app form, and I have changed the default colors, size, and so on. Is there a way to view in code or design view all the properties and values that have been changed for any one tool (object) in a pop-up window.
In other words instead of having to go to properties and scroll, I push a hot key and magic! In one small pop-up window, I can see the changes for btnone, or lblTwo and or even better, make changes on the fly or go back to default values, or change to new values. Like an Xray format tool in brackets, or google.

NSPopUpButton in NSToolbar such annoying

Problem solved!:
Just check the "Unified Title And Toolbar" option of the NSWindow and the 1pixel-down problem goes away!
To change the toolbar height just select the Toolbar Item - Custom View and change size in the Size inspector.
==============================
If you know Xcode 5s layout than you should recognise this:
I want to build it for my own. So I dragged a Toolbar in the Window and added a NSPopUpButton. Then I changed the PopUp Button Cell Style to Radio and turned off the Arrows. So far so good.
The first thing I noticed is that the Toolbars has different heights. Does anybody know how to change this behaviour (without subclassing NSToolbar)?
The second and more annoying thing I noticed is that if I choose an Item from the PopUp Button the Image for the NSMenuItem move 1 pixel down.
EDIT: Xcode NSMenuItems don't move 1pixel down
Any suggestions about that thing?
NSToolbar, sadly, can’t really be subclassed. It’s a poorly-written class that tries to be very “magic,” so it’s not even a subclass of NSView—you can’t control how it draws at all, it creates a private view.
You can set its “sizeMode” but I assume you’ve already done that and found that the number of pixels high isn’t what you want.
The easiest thing to do is just leave space for your widgets at the top of your window (above the document content) and have autolayout position your buttons for you. (I haven’t been able to use a real NSToolbar in years because of its limitations.)
As for the popUp menu being mis-aligned with the button: where the menu draws is basically hard-coded, so if you use a button style that NSPopUpButton doesn't expect then the menu will be offset some.
If you’ve already tried just unchecking the “draws border” flag on a default-style NSPopUpButton (one fresh off the palette), There are two solutions for to try: One is to keep trying different buttonStyles that look correct to your eye until you find one that’s not offset. Two is to leave the buttonStyle do the default for NSPopUpButtons but subclass the buttonCell and have it not draw the border (but still leave room for it).