public void Register(SkinNamedLabelControl sliderLabel) { sliderLabel.Bounds = GetParameterLabelBounds(parametersLabels.Count); parametersLabels.Add(sliderLabel); }
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); } } }
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); }