Exemplo n.º 1
0
 public void Register(SkinNamedLabelControl sliderLabel)
 {
     sliderLabel.Bounds = GetParameterLabelBounds(parametersLabels.Count);
     parametersLabels.Add(sliderLabel);
 }
Exemplo n.º 2
0
        private void InitializeComponent()
        {
            Bounds = LayoutManager.Instance.ParametersPanelBounds;
            EnableDragging = false;
            SkinName = "parameters.panel";

            //
            // Contruct Children
            //
            globalRandomizeButton = new SkinNamedButtonControl();
            okButton = new SkinNamedButtonControl();
            cancelButton = new SkinNamedButtonControl();

            //
            // globalRandomizeButton
            //
            globalRandomizeButton.Bounds = LayoutManager.Instance.GlobalRandomizeButtonBounds;
            globalRandomizeButton.Pressed += new EventHandler(GlobalRandomizeButtonPressed);
            globalRandomizeButton.SkinName = "global.randomize";

            //
            // okButton
            //
            okButton.Bounds = LayoutManager.Instance.OkButtonBounds;
            okButton.Pressed += new EventHandler(OkButtonPressed);
            okButton.SkinName = "ok";

            //
            // cancelButton
            //
            cancelButton.Bounds = LayoutManager.Instance.CancelButtonBounds;
            cancelButton.Pressed += new EventHandler(CancelButtonPressed);
            cancelButton.SkinName = "cancel";

            //
            // Add Children
            //
            Children.Add(globalRandomizeButton);
            Children.Add(okButton);
            Children.Add(cancelButton);

            //
            // Dynamically create sliders for each of the input parameters that needs to be hooked up to a slider
            //
            foreach (PropertyInfo inputParameterInfo in typeof(InputParameters).GetProperties())
            {
                // Do something only if the current parameter is a ParameterWrapper<T>, where T implements ZeroOneParameter
                if (inputParameterInfo.PropertyType.IsGenericType
                    && inputParameterInfo.PropertyType.GetGenericArguments()[0].GetInterfaces().Length != 0
                    && inputParameterInfo.PropertyType.GetGenericArguments()[0].GetInterfaces()[0] == typeof(ZeroOneParameter))
                {
                    MethodInfo method = typeof(ParameterWrapperFactory).GetMethod(ParameterWrapperFactory.DoubleMethodName).MakeGenericMethod(inputParameterInfo.PropertyType.GetGenericArguments()[0]);

                    SkinNamedHorizontalSliderControl parameterSlider = new SkinNamedHorizontalSliderControl();
                    LayoutManager.Instance.Register(parameterSlider);
                    parameterSlider.ThumbSize = 0.1f;
                    parameterSlider.ThumbPosition = (float)(double)method.Invoke(null, new object[] { inputParameterInfo.GetGetMethod().Invoke(InputParameters.Instance, null) });
                    parameterSlider.Moved += new EventHandler(ParameterSliderMoved);
                    parameterSlider.SkinName = "navigator";

                    SkinNamedLabelControl sliderLabel = new SkinNamedLabelControl();
                    LayoutManager.Instance.Register(sliderLabel);
                    sliderLabel.Text = inputParameterInfo.Name;
                    sliderLabel.SkinName = "parameter";

                    Children.Add(parameterSlider);
                    Children.Add(sliderLabel);
                    slidersHookUp.Add(parameterSlider, inputParameterInfo);
                }
            }
        }
Exemplo n.º 3
0
        private void InitializeComponent()
        {
            Bounds = LayoutManager.Instance.NavigatorPanelBounds;
            EnableDragging = false;
            SkinName = "navigator.panel";

            //Contruct Children
            horizontalSlider = new SkinNamedHorizontalSliderControl();
            verticalSlider = new SkinNamedVerticalSliderControl();
            playPauseButton = new OptionControl();
            stopButton = new SkinNamedButtonControl();
            tempoLabel = new SkinNamedLabelControl();
            timeSignatureNLabel = new SkinNamedLabelControl();
            timeSignatureDLabel = new SkinNamedLabelControl();

            //
            // playPauseButton
            //
            playPauseButton.Bounds = LayoutManager.Instance.PlayPauseButtonBounds;
            playPauseButton.Changed += new EventHandler(PlayPauseButtonToggled);
            playPauseButton.Selected = false;

            //
            // stopButton
            //
            stopButton.Bounds = LayoutManager.Instance.StopButtonBounds;
            stopButton.Pressed += new EventHandler(StopButtonPressed);
            stopButton.SkinName = "stop";

            //
            // horizontalSlider
            //
            horizontalSlider.Bounds = LayoutManager.Instance.HorizontalScrollBarBounds;
            horizontalSlider.ThumbPosition = LayoutManager.Instance.HorizontalSliderThumbSize;
            horizontalSlider.Moved += new EventHandler(HorizontalSliderMoved);
            horizontalSlider.SkinName = "navigator";

            //
            // verticalSlider
            //
            verticalSlider.Bounds = LayoutManager.Instance.VerticalScrollBarBounds;
            verticalSlider.ThumbPosition = LayoutManager.Instance.VerticalSliderThumbSize;
            verticalSlider.Moved += new EventHandler(VerticalSliderMoved);
            verticalSlider.SkinName = "navigator";

            //
            // tempoLabel
            //
            tempoLabel.Bounds = LayoutManager.Instance.TempoLabelBounds;
            tempoLabel.Text = "Tempo: " + InputParameters.Instance.Tempo.ToString();
            tempoLabel.SkinName = "settings";

            //
            // timeSignatureNLabel
            //
            timeSignatureNLabel.Bounds = LayoutManager.Instance.TimeSignatureNLabelBounds;
            timeSignatureNLabel.Text = "Time Signature: " + InputParameters.Instance.TimeSignatureN.ToString();
            timeSignatureNLabel.SkinName = "settings";

            //
            // timeSignatureDLabel
            //
            timeSignatureDLabel.Bounds = LayoutManager.Instance.TimeSignatureDLabelBounds;
            timeSignatureDLabel.Text = InputParameters.Instance.TimeSignatureD.ToString();
            timeSignatureDLabel.SkinName = "settings";

            //Add Children
            Children.Add(playPauseButton);
            Children.Add(stopButton);
            Children.Add(horizontalSlider);
            Children.Add(verticalSlider);
            Children.Add(tempoLabel);
            Children.Add(timeSignatureNLabel);
            Children.Add(timeSignatureDLabel);
        }