Re: Help with Alignment for PasteButtons
- To: mathgroup at smc.vnet.net
- Subject: [mg89625] Re: Help with Alignment for PasteButtons
- From: m.r at inbox.ru
- Date: Sun, 15 Jun 2008 06:14:14 -0400 (EDT)
- References: <g2qhir$8pp$1@smc.vnet.net>
On Jun 12, 2:00 am, Syd Geraghty <sydgerag... at mac.com> wrote:
> Hi all,
>
> I am trying to clean up a GUI for pasting function options with paste
> buttons.
>
> This is an example of where I am headed:
>
> optionPalette :=
> PaletteNotebook[{HoldForm[# "Options"],
> Grid[Partition[PasteButton /@ Options[#], 3]]}] &;
> optionPalette[Graphics]
>
> My 1st question is one of Alignment:
>
> This sorts the options list, aligns it left and gives the PasteButton
> labels alphabetically in three columns and tries to solve the padding
> problem (not entirely satisfactorily, buttons 56 & 57 could be
> unlabeled instead of repeating the start of the list):
>
> clen = Ceiling[Length[Options[Plot]]/3]
>
> Grid[Transpose[Partition[Options[Plot], clen, clen, {1, 1}]],
> Alignment -> Left]
>
> This generates the PasteButton grid:
>
> clen = Ceiling[Length[Options[Plot]]/3]
>
> Grid[Transpose[Partition[PasteButton /@ Options[Plot], clen, clen, {1, =
> 1}]]]
>
> How would I align the labels left vs centered to make reading the
> PasteButton columns easier?
>
> My 2nd question is how to insert a "," in front of all the pastes to
> make it even easier to use this GUI to create syntactically correct
> lists of options for a chosen function?
>
> Note, after a deal of trying this is NOT as easy as it might seem (I
> think). The alpha lists should be preserved as in
>
> , AlignmentPoint -> Center
> , AspectRatio -> 1/GoldenRatio
> , Axes -> True
> , AxesLabel -> None
>
> Thanks for any advice.
>
> Cheers .... Syd
>
> Syd Geraghty B.Sc, M.Sc.
>
> sydgerag... at mac.com
>
> My System
>
> Mathematica 6.0.2.1 for Mac OS X x86 (64 - bit) (March 13, 2008)
> MacOS X V 10.5.2
> MacBook Pro 2.33 Ghz Intel Core 2 Duo 2GB RAM
This should do what you want:
Partition[PasteButton[RawBoxes[RowBox[{",", ToBoxes@ #}]],
Alignment -> Left]& /@ Options[Plot],
19, 19, {1, 1}, Null] //
Transpose // Grid // Deploy
Maxim Rytin
m.r at inbox.ru