Exemplo n.º 1
0
        private void TSM_CodecsInstall_Click(object sender, EventArgs e)
        {
            OpenFileDialog fileDialog = new OpenFileDialog();

            fileDialog.Filter           = "DLLs (*.dll)|*.dll";
            fileDialog.RestoreDirectory = true;

            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    Assembly pluginAssembly = Assembly.LoadFrom(fileDialog.FileName);
                    CodecToolStripMenuItem codecToolStripMenuItem = null;
                    foreach (Type t in AssemblyUtils.FindDerivedTypes(pluginAssembly, typeof(ICodecConfig)))
                    {
                        ICodecConfig codecConfig = (ICodecConfig)Activator.CreateInstance(t);
                        codecToolStripMenuItem = InstallCodec(codecConfig, CheckState.Unchecked);
                        if (codecToolStripMenuItem != null)
                        {
                            break;
                        }
                    }
                    if (codecToolStripMenuItem == null)
                    {
                        MessageBox.Show("Invalid Plugin.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Failed to Install Plugin.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Exemplo n.º 2
0
        private void FRM_Main_Load(object sender, EventArgs e)
        {
            m_GraphHandler = new GraphHandler(PAN_Canvas);

            m_CurrentCodecToolStripMenuItem = InstallCodec(new DefaultCodecConfig(), CheckState.Checked);
            m_GraphCodec = m_CurrentCodecToolStripMenuItem.GetCodec();
        }
Exemplo n.º 3
0
        private void TSM_CodecSelect_Click(object sender, EventArgs e)
        {
            CodecToolStripMenuItem senderItem = sender as CodecToolStripMenuItem;

            if (senderItem != null)
            {
                m_CurrentCodecToolStripMenuItem.CheckState = CheckState.Unchecked;
                m_CurrentCodecToolStripMenuItem            = senderItem;
                m_CurrentCodecToolStripMenuItem.CheckState = CheckState.Checked;
                m_GraphCodec = m_CurrentCodecToolStripMenuItem.GetCodec();
            }
        }
Exemplo n.º 4
0
        /******************/
        /* CODECS SECTION */
        /******************/

        private CodecToolStripMenuItem InstallCodec(ICodecConfig _CodecConfig, CheckState _CheckState)
        {
            CodecToolStripMenuItem codecItem = null;

            if (_CodecConfig != null)
            {
                IGraphCodec graphCodec = _CodecConfig.CreateGraphCodec();
                if (graphCodec != null)
                {
                    codecItem            = new CodecToolStripMenuItem(_CodecConfig.GetCodecName(), graphCodec);
                    codecItem.Click     += TSM_CodecSelect_Click;
                    codecItem.CheckState = _CheckState;
                    TSM_Codecs.DropDownItems.Add(codecItem);
                }
            }
            return(codecItem);
        }