# Full documentation for AppearanceElements

As explained in this solution,

ListAnimate[Table[Plot[Sin[n x], {x, 0, 2}], {n, 3}]]//InputForm


will allow me to view the types of appearance element for the ListAnimate controller. But the same method does not work for simple controls or compound Manipulate-s, e.g.

Control[{{u, 3, "hello"}, 1, 5, 0.1}] // InputForm
Manipulate[u, {{u, 3, "hello"}, 1, 5, 0.1}] // InputForm


as both are already in InputForm. Is there a complete list of AppearanceElement types in the documentation (I doubt that) or elsewhere, or a trustworthy way of extracting this information?

Added in response to Nasser's solution: it would also be good to allocate exactly which appearance elements are appropriate to each control; looking at Animator I've found a couple more which are in the relevant documentation, see below.

appearanceList =
Sort@{"AutorunPlayButton", "BookmarksButton",
"BookmarksPlayButton","ContentResizeArea", "DirectionButton",
"FasterSlowerButtons", "HideControlsButton",
"PlayPauseButton", "PlayButton", "PauseButton", "ResetPlayButton",
"ProgressSlider", "ResetButton", "SnapshotButton",
"StepLeftButton", "StepRightButton", "UpdateButton"};
Length@appearanceList
DynamicModule[{sal, dx = 0.5, dy = 0.5, anim1, anim2, loc, swatch},
Column@{
Control[{sal, 1, 10, AppearanceElements -> appearanceList, Appearance -> "Open"}],
Control[{sal, 1, 10, AppearanceElements -> All, Appearance -> "Open"}],
Slider2D[Dynamic@{dx, dy}],(* no appearance elements *)
Animator[Dynamic[anim1], {0, 1, 0.1}, AppearanceElements -> appearanceList,
AnimationRunning -> False],
Animator[Dynamic[anim2], {0, 1, 0.1}, AppearanceElements -> All,
AnimationRunning -> False]
}]


This brings the total to 26, including All and None. By the way, it is odd that the ResetPlayButton looks exactly like the PlayButton, as far as I can see.

-
I'm planning to update the control list so exactly those appearance elements relevant to the control are used to produce the same effect as AppearanceElements -> All, but I'm not sure of the protocol here as @Nasser is compiling a parallel list and I'll be happy to accept his solution as soon as it seems we have a complete list. Should I add my own solution at this point? –  fairflow Apr 26 at 11:14
The total is now up to 26, including All and None which seem equally valid. –  fairflow Apr 26 at 11:15
I did not know you are collecting these also, since you asked the question :). I'll change my answer to community wiki so you can feel to add your there and make any edits you like. –  Nasser Apr 26 at 14:33
@Nasser, I didn't plan to as I thought someone might reveal a complete list, but so far I'm not convinced we've got them all, which is why I started my own list as I wasn't confident about editing yours. And then I reasoned that just having a list wasn't so useful as we'd like to know which element corresponds to which control. I think community wiki is a good idea but don't know much about that, or how it relates to reputation. –  fairflow Apr 27 at 20:45

Update: Thanks to Simon Woods comment below, 3 more are added to list. Now total is 21.

I could not find complete list in one place. Over the years, I collected them from here and there in the docs. Looked at my cheat sheet now and I only see the list. (I should have written the document pages where I got there but did not). This is what I have so far, 18 of them (including None): Once you know the name, you can more easily find it (one hopes) in the docs now

list = {
"AutorunPlayButton",
"BookmarksButton",
"BookmarksPlayButton"
"ContentResizeArea",
"DirectionButton",
"FasterSlowerButtons",
"HideControlsButton",
"InputField",
"InlineInputField",
"ManipulatePlayButton",
"PlayPauseButton",
"ProgressSlider",
"ResetButton",
"SnapshotButton",
"StepLeftButton",
"StepRightButton",
"UpdateButton",
None};

TableForm[Table[{i, list[[i]]}, {i, Length[list]}]]


I remembered old post related to this:

From there:

It is strange that it is so hard to find the names of these elements. I go to ref/AppearanceElements and it does not even list the names. When I go to ref/Manipulate it mentions the following ones under Appearance Elements option {"HideControlsButton", "SnapshotButton", "ResetButton", "UpdateButton" and I tried them all, but they are not what I want.

I went to ref/Manipulator, and saw these "InputField", "StepLeftButton", "PlayPauseButton", "StepRightButton", "FasterSlowerButtons", "DirectionButton", "InlineInputField".

May be in version 10, AppearanceElements will finally show up in one place?

http://reference.wolfram.com/mathematica/ref/Manipulator.html

http://reference.wolfram.com/mathematica/ref/Manipulate.html

-
Some are listed in ManipulateDump$allPossibleAppearanceElements and ManipulateDump$AnimateDefaultAnimatorElements. By the way, "SnapshotButton" appears twice in your list. –  Simon Woods Apr 26 at 10:22
@SimonWoods thanks, I've updated the list. –  Nasser Apr 26 at 10:38
MapIndexed[{#2[[1]], #1} &, list] // TableForm is another way to get the table, btw. –  fairflow Apr 26 at 11:00
@fairflow Automatic Headings will do too. –  Kuba Apr 26 at 11:55
OK, ManipulateDump$allPossibleAppearanceElements works, so why doesn't, say, AnimateDump$allPossibleAppearanceElements`? –  murray Apr 26 at 14:38