public ApplicationControllerUI(ApplicationController controller, bool hideAppButtons)
    {
      _controller = controller;
      InitializeComponent();
      Name = controller.UiName;
      Text = controller.UiName;

      _controller.BindButtonConfiguration(dgButtonConfig, buttonBindingSource);
      _controller.SuppressKeypressWhenSelected.ReplaceControls(this, Controls, cbSuppressKeypress);

      if (hideAppButtons)
      {
          cbAutoStartApplication.Visible = false;
          cbControlApplication.Visible = false;
          cbStartFullScreen.Visible = false;
          bConfigure.Visible = false;
      }
      else
      {
          bConfigure.Enabled = _controller.CanConfigureProcess;
          _controller.AutoStartApplication.ReplaceControls(this, Controls, cbAutoStartApplication);
          _controller.ControlApplication.ReplaceControls(this, Controls, cbControlApplication);
          _controller.StartFullScreen.ReplaceControls(this, Controls, cbStartFullScreen);
      }
    }
示例#2
0
文件: KeyInput.cs 项目: n8o/libcec
 public static ApplicationAction FromString(ApplicationController controller, string value)
 {
     KeyInput retVal = new KeyInput(controller);
       var split = value.Trim().Split(' ');
       foreach (var item in split)
       {
     var param = retVal.GetParameterFromString(item);
     ushort iValue;
     if (ushort.TryParse(param, NumberStyles.AllowHexSpecifier, null, out iValue))
       retVal.AddKey((WindowsAPI.VirtualKeyCode)iValue);
       }
       return retVal;
 }
示例#3
0
        public ConfigureApplication(ApplicationController controller)
            : this(null, null)
        {
            _controller = controller;
              tbFilename.Text = controller.ApplicationFilename;
              tbWorkingDir.Text = controller.ApplicationWorkingDirectory;
              tbUiName.Text = controller.UiName;
              tbProcessName.Text = controller.ProcessName;

              Text = string.Format(Resources.configure_application, controller.UiName);

              if (!_controller.CanConfigureProcess)
              {
            tbFilename.Enabled = false;
            tbWorkingDir.Enabled = false;
            tbUiName.Enabled = false;
            tbProcessName.Enabled = false;
            bFindFile.Enabled = false;
              }
        }
        public static ApplicationAction FromString(ApplicationController controller, string value)
        {
            ApplicationActionStart retVal = new ApplicationActionStart(controller);

            return(value.Trim().Equals(retVal.AsString()) ? retVal : null);
        }
 public ApplicationInput(ApplicationController controller) :
     base(controller, ActionType.Generic)
 {
 }
 public ApplicationActionCloseController(ApplicationController controller)
     : base(controller, ActionType.CloseControllerApplication)
 {
 }
 public ApplicationActionStart(ApplicationController controller) :
     base(controller, ActionType.StartApplication)
 {
 }
示例#8
0
 public ApplicationInput(ApplicationController controller)
     : base(controller, ActionType.Generic)
 {
 }
 public void SetController(ApplicationController controller)
 {
     Controller = controller;
     KeyName    = string.Format("{0}_key_{1}", controller.ProcessName, (int)Key.Keycode);
 }
示例#10
0
 private void BOkClick(object sender, EventArgs e)
 {
     if (_controller != null)
       {
     _controller.ApplicationFilename = tbFilename.Text;
     _controller.ApplicationWorkingDirectory = tbWorkingDir.Text;
     _controller.UiName = tbUiName.Text;
     _controller.ProcessName = tbProcessName.Text;
     _controller.Settings.Persist();
       }
       else if (_cecController != null)
       {
     ApplicationController newController = new ApplicationController(_settings, tbUiName.Text, tbProcessName.Text, tbFilename.Text, tbWorkingDir.Text);
     if (_cecController.RegisterApplication(newController))
       newController.Settings.Persist();
       }
       Dispose();
 }
示例#11
0
文件: KeyInput.cs 项目: n8o/libcec
 public KeyInput(ApplicationController controller)
     : base(controller, ActionType.SendKey)
 {
 }
示例#12
0
 public ApplicationActionCloseController(ApplicationController controller)
     : base(controller, ActionType.CloseControllerApplication)
 {
 }
示例#13
0
 public static ApplicationAction FromString(ApplicationController controller, string value)
 {
     ApplicationActionCloseController retVal = new ApplicationActionCloseController(controller);
       return value.Trim().Equals(retVal.AsString()) ? retVal : null;
 }
示例#14
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="controller">The controller instance of the application that this action is targeting</param>
 /// <param name="type">The type of the action that is executed</param>
 protected ApplicationAction(ApplicationController controller, ActionType type)
 {
     Controller = controller;
       ActionType = type;
 }
示例#15
0
        public static ApplicationInput FromString(ApplicationController controller, string value)
        {
            ApplicationInput retVal = new ApplicationInput(controller);
              var split = value.Trim().Split(' ');
              foreach (var item in split)
              {
            var addAction = KeyInput.FromString(controller, item);

            if (addAction == null || addAction.Empty())
              addAction = ApplicationActionCloseController.FromString(controller, item);

            if (addAction == null || addAction.Empty())
              addAction = ApplicationActionStart.FromString(controller, item);

            if (addAction != null && !addAction.Empty())
              retVal.Append(addAction);
              }
              return retVal;
        }
示例#16
0
 public static ApplicationAction DefaultValue(ApplicationController controller, CecKeypress key)
 {
     return controller.HasDefaultValue(key) ? controller.DefaultValue(key) : new ApplicationInput(null);
 }
 public static ApplicationAction DefaultValue(ApplicationController controller, CecKeypress key)
 {
     return(controller.HasDefaultValue(key) ? controller.DefaultValue(key) : new ApplicationInput(null));
 }
示例#18
0
 public KeyInput(ApplicationController controller, WindowsAPI.VirtualKeyCode keyCode) :
     base(controller, ActionType.SendKey)
 {
     AddKey(keyCode);
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="controller">The controller instance of the application that this action is targeting</param>
 /// <param name="type">The type of the action that is executed</param>
 protected ApplicationAction(ApplicationController controller, ActionType type)
 {
     Controller = controller;
     ActionType = type;
 }
示例#20
0
 public KeyInput(ApplicationController controller) :
     base(controller, ActionType.SendKey)
 {
 }
示例#21
0
文件: KeyInput.cs 项目: n8o/libcec
 public KeyInput(ApplicationController controller, WindowsAPI.VirtualKeyCode keyCode)
     : base(controller, ActionType.SendKey)
 {
     AddKey(keyCode);
 }
示例#22
0
 public ApplicationActionStart(ApplicationController controller)
     : base(controller, ActionType.StartApplication)
 {
 }
示例#23
0
        /// <summary>
        /// Register a new application controller, which will add a new tab for the application
        /// </summary>
        /// <param name="app">The new application to register</param>
        /// <returns>True when registered, false otherwise</returns>
        public bool RegisterApplication(ApplicationController app)
        {
            if (_applications.Contains(app)) return false;
              _applications.Add(app);

              _gui.SuspendLayout();
              _gui.TabControls.Add(app.UiControl);
              _gui.ResumeLayout();

              app.Initialise();

              return true;
        }
 public CecButtonConfigItem(ApplicationController controller, CecKeypress key) :
     base(CECSettingType.Button, null, ButtonName(key.Keycode), ApplicationInput.DefaultValue(controller, key).AsString(), null)
 {
     Key = key;
 }