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