Hi Werner,
My original post was too long and unhelpful, so I've edited it. I don't know where to find the Manipulator code except for the five different constructor-functions found in MiscExpressions.tr, which I can locate with the code below, which should be system-independent. Perhaps you don't recognize the code as Wolfram Language because of the *Box
commands or because of the non-WL lines @@resource <resource_name>
and @|
. Between each @@resource
...@|
pair is a WL expression. The first is a list of key -> value
pairs used by the Front End. In this list we find the keys for "Manipulate03" through "Manipulate07" paired with functions for constructing manipulators.
If you specify the BaseStyle
or LabelStyle
options in Manipulator
, Mathematica will use the "Manipulator07" API found in the following MiscExpressions.tr file that comes with Wolfram app:
FileNameJoin[{$InstallationDirectory, "SystemFiles", "FrontEnd",
"TextResources", "MiscExpressions.tr"}] (* location varies with installation *)
FileExistsQ[%] (* verify the file exists *)
The code for "Manipulator07" is in box form, so that it may be interpreted by the Front End. The API has 26 #n
arguments. The boxes, the arguments, and other FE context commands make it a little hard to read, but most of the boxes correspond to the "Box"-less command. For instance, InputFieldBox
for InputField
.
According to the code for "Manipulator07", the LabelStyle
option value is passed to the input field to the right of the slider as the option
BaseStyle -> {"Manipulator", <..LabelStyle options..> }
Similarly, the BaseStyle
option value in a Manipulator
is passed to the input field below the sliders as
BaseStyle -> {"Manipulator", <..BaseStyle options..>,
FontSize :> CurrentValue[{"ControlsFontSize", #5}]}
Here #5
is the "smaller size" argument, which is not explained. The default seems to be Small
.
Arguments #20
to #23
of "Manipulator07" are labeled as the default options for the Slider, Animator, and each InputField. I've never seen these to be anything but an empty list with one exception: ImageSize -> 50
(or other number) is passed as a slider option, but symbolic settings such as ImageSize -> Large
are not passed. So arguments #20
to #23seem unusable in the standard usage of
Manipulateand
Manipulator, unless there is an undocumented way to get to them. My original answer gave a way to pass values for these arguments. If arguments
#20to #23
are unreachable, as they appear to be, then the only effect one may have on the two input fields is through the BaseStyle
of each InputField
, which may be set through the LabelStyle
and BaseStyle
options of the Manipulator
. Other options, such as FieldSize
cannot be changed.
If you wish to explore this line of inquiry, I have been using the following to see the 26 arguments passed to the "Manipulator07" API. The arguments are minimally documented in MiscExpressions.tr.
MakeBoxes[
Manipulator[Dynamic[x], {0, 1},
Appearance -> {"Open", "Labeled"},
BaseStyle -> {FontColor -> Red, FontSize -> 24},
LabelStyle -> {FontColor -> Orange, FontSize -> 40}],
StandardForm]