Ejemplo n.º 1
0
        public void InitializeComponent()
        {
            // determine the type the filter applies to
            Type filterType = typeof(DatabaseTable);

            if (_fieldSettings != null)
            {
                filterType = _fieldSettings.Table;
            }

            if (filterType == null)
            {
                return;
            }

            bool buttonsVisible = true;
            TranslationParserDelegate translationParser = null;

            if (genericMenuTreePanel != null)
            {
                buttonsVisible    = ((IMenuTreePanel)genericMenuTreePanel).IsEditable;
                translationParser = ((IMenuTreePanel)genericMenuTreePanel).TranslationParser;
            }

            // create an instance of the filter panel specific to the type we are filtering
            genericMenuTreePanel = null;
            Type genericType  = typeof(GenericMenuTreePanel <>).GetGenericTypeDefinition();
            Type specificType = genericType.MakeGenericType(new Type[] { filterType });

            genericMenuTreePanel      = (Control)specificType.GetConstructor(Type.EmptyTypes).Invoke(null);
            genericMenuTreePanel.Dock = System.Windows.Forms.DockStyle.Fill;
            ((IMenuTreePanel)genericMenuTreePanel).SelectedNodeChanged += new DBNodeEventHandler(MenuTreePanel_SelectedNodeChanged);

            // link new control to existing settings
            ((IMenuTreePanel)genericMenuTreePanel).DBManager = DBManager;
            ((IFieldDisplaySettingsOwner)genericMenuTreePanel).FieldDisplaySettings = FieldDisplaySettings;
            ((IMenuTreePanel)genericMenuTreePanel).TranslationParser = translationParser;
            ((IMenuTreePanel)genericMenuTreePanel).IsEditable        = buttonsVisible;


            SuspendLayout();
            Controls.Clear();
            Controls.Add(genericMenuTreePanel);

            Name = "FilterEditorPane";
            Size = new System.Drawing.Size(689, 364);

            ResumeLayout(false);
        }
        public MenuEditorPopup()
        {
            InitializeComponent();

            MenuTree.SelectedNodeChanged += new DBNodeEventHandler(MenuTree_SelectedNodeChanged);
            nodeSettingsPanel.DBManager = MovingPicturesCore.DatabaseManager;
            MenuTree.DBManager = MovingPicturesCore.DatabaseManager;

            nodeSettingsPanel.ShowFilterHelpButton = true;
            nodeSettingsPanel.FilterHelpAction = new HelpActionDelegate(delegate {
                ProcessStartInfo processInfo = new ProcessStartInfo(Resources.FilterEditorURL);
                Process.Start(processInfo);
            });

            TranslationParserDelegate parserDelegate = new TranslationParserDelegate(Translation.ParseString);
            MenuTree.TranslationParser = parserDelegate;
            nodeSettingsPanel.TranslationParser = parserDelegate;
        }
Ejemplo n.º 3
0
        public MenuEditorPopup()
        {
            InitializeComponent();

            MenuTree.SelectedNodeChanged += new DBNodeEventHandler(MenuTree_SelectedNodeChanged);
            nodeSettingsPanel.DBManager   = MovingPicturesCore.DatabaseManager;
            MenuTree.DBManager            = MovingPicturesCore.DatabaseManager;

            nodeSettingsPanel.ShowFilterHelpButton = true;
            nodeSettingsPanel.FilterHelpAction     = new HelpActionDelegate(delegate {
                ProcessStartInfo processInfo = new ProcessStartInfo(Resources.FilterEditorURL);
                Process.Start(processInfo);
            });

            TranslationParserDelegate parserDelegate = new TranslationParserDelegate(Translation.ParseString);

            MenuTree.TranslationParser          = parserDelegate;
            nodeSettingsPanel.TranslationParser = parserDelegate;
        }