MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

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
>



  • Prev by Date: Re: Erf funcion
  • Next by Date: Re: beginner question regarding units in equations
  • Previous by thread: Creating dialogs, right-aligning buttons
  • Next by thread: Re: Creating dialogs, right-aligning buttons