Re: Creating dialogs, right-aligning buttons
- To: mathgroup at smc.vnet.net
- Subject: [mg123938] Re: Creating dialogs, right-aligning buttons
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Mon, 2 Jan 2012 02:40:02 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201201010728.CAA28407@smc.vnet.net>
image = Rasterize[ ExampleData[{"AerialImage", "Earth"}], ImageSize -> 1024]; {* oversize image *) itemWidth = Min[512, {ImageSize /. AbsoluteOptions[image, ImageSize]}[[1]]]; CreateDialog[ Column[{ Panel[ "Some message here", ImageSize -> itemWidth], Pane[image, ImageSize -> {itemWidth, itemWidth}, Scrollbars -> True],(*this is obtained from Rasterize*) ChoiceButtons[ {"Do it!"}, {doIt[]; DialogReturn[]}]}, Alignment -> Right]]; or, if you prefer, put the panel around the buttons CreateDialog[ Column[{ "Some message here", Pane[image, ImageSize -> {itemWidth, itemWidth}, Scrollbars -> True],(*this is obtained from Rasterize*) Panel[ ChoiceButtons[ {"Do it!"}, {doIt[]; DialogReturn[]}], ImageSize -> itemWidth, Alignment -> Right]}]]; or put a panel around both (not shown). Bob Hanlon 2012/1/1 Szabolcs Horv=E1t <szhorvat at gmail.com>: > > Hello, > > What is the best way to create dialogs and align the different UI > elements in them? > > In particular, how can I create a dialog with right-aligned OK and > Cancel buttons? > > Here's a simplified model of what I'm actually doing: > > image = Rasterize@ExampleData[{"AerialImage", "Earth"}] > > CreateDialog[ > Column[ > {"Some message here", > image, (* this is obtained from Rasterize *) > ChoiceButtons[{"Do it!"}, {doIt[]; DialogReturn[]}]} > ] > ] > > Problems with this approach: > > * How can I right-align the buttons without > right-aligning all other elements? > > * I do not know the size of the image beforehand. It may be > taller than the screen in my application. In this case > it will push the buttons off-screen. > How can I protect against this? > > > There seem to be many ways to create dialogs in Mathematica. There's > CreateDialog (shown here), MessageDialog (which makes ugly small buttons > where there's more than one button, and I'm having problems controlling > the window size), ChoiceDialog (the buttons return values instead of > doing something). > > > Can you show me example code based on the model above, with its problems > fixed? > > > -- > Szabolcs Horv=E1t > Mma QA site proposal: http://area51.stackexchange.com/proposals/37304 >
- References:
- Creating dialogs, right-aligning buttons
- From: Szabolcs Horvát <szhorvat@gmail.com>
- Creating dialogs, right-aligning buttons