public ButtonCockpitControl(ControlManager manager, CockpitXML.CockpitControlsButton control) : base(manager, control.Name, control.Width, control.Height, control.NetworkID, control.PushedAction, control.ReleaseAction)
        {
            background         = manager.ImageCache.getImage(control.BackgroundImage);
            pushedBackground   = manager.ImageCache.getImage(control.PushedBackgroundImage);
            defaultImage       = manager.ImageCache.getImage(control.DefaultImage);
            defaultPushedImage = manager.ImageCache.getImage(control.DefaultPushedImage);

            if (control.State != null)
            {
                foreach (CockpitXML.CockpitControlsButtonState configState in control.State)
                {
                    ButtonControlState state = new ButtonControlState(manager.ImageCache, configState);
                    controlStates.Add(state);
                }
            }

            pushed = false;

            if (control.DefaultValue != null)
            {
                this.defaultValue = control.DefaultValue;
                Value             = defaultValue;
            }
        }