Ejemplo n.º 1
0
        public void Init(ExtensionManager extensionManager, UiManager uiManager, System.Windows.Threading.Dispatcher dispatcher)
        {
            extensionManager.LolClientInjected += (sender, e) => client = e;
            extensionManager.LolClientConnected += (sender, e) => ui.Client = client;
            extensionManager.LolClientDisconnected += (sender, e) => ui.Client = null;
            extensionManager.LolClientClosed += (sender, e) => client = null;

            uiManager.RegisterView(this, new View(this, "Call Lcds", "CallLcds:Main", ui));
        }
Ejemplo n.º 2
0
        private void Window_Initialized(object sender, EventArgs e)
        {
            CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("en-US");
            CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("en-US");
            if (!Directory.Exists("data") || !File.Exists("sqlite3.dll"))
            {
                MessageBox.Show(Debugger.IsAttached ? @"""data"" folder and/or sqlite3.dll not found. Make sure to copy the data folder and sqlite3.dll to the output directory." : "Some files are missing, please reinstall.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                Environment.Exit(-1);
            }

            if (!Debugger.IsAttached)
                AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            _uiManager = new UiManager();

            LoadExtensionDependencies();

            List<Assembly> assemblies = LoadExtensions();
            _extensionManager = new ExtensionManager(_uiManager, Dispatcher, ConfigDir, new FinalesFunkelnExtension());
            _extensionManager.AddAssemblies(assemblies);
            _extensionManager.InitExtensions();

            foreach (var x in _extensionManager.Extensions)
            {
                var item = new ExtensionMenuItem(x.Value);
                item.Views.AddRange(_uiManager.GetViewsByExtension(x.Value));
                ViewsMenuItem.Items.Add(item);
            }

            DockingManager.Layout.RootPanel = new LayoutPanel(_mainPane = new LayoutDocumentPane());
            

            foreach (var view in _uiManager.GetViews())
            {
                LayoutContent c = new DocumentViewControl(view);
                _mainPane.Children.Add(c);
            }

#if AIRDEBUG && DEBUG
            _processInjector = new ProcessInjector("adl");//AirDebugLauncher
#else
            _processInjector = new ProcessInjector("lolclient");
#endif

            _processInjector.Injected += pi_Injected;
            _processInjector.ProcessFound += ProcessInjector_ProcessFound;
            _processInjector.ProcessExited += _processInjector_ProcessExited;
            _processInjector.Start();

        }
Ejemplo n.º 3
0
        internal ExtensionManager(UiManager uiManager, Dispatcher dispatcher, string configDirectory,params IInternalExtension[] internalExtensions)
        {
            if (uiManager == null)
                throw new ArgumentNullException("uiManager");
            if (dispatcher == null)
                throw new ArgumentNullException("dispatcher");
            _internalExtensionsCount = internalExtensions.Length;

            _dispatcher = dispatcher;
            _uiManager = uiManager;

            _extensions = new Dictionary<string, IExtension>();
            foreach (var p in internalExtensions)
                _extensions.Add(p.InternalName, p);
        }
Ejemplo n.º 4
0
        internal ExtensionManager(UiManager uiManager, Dispatcher dispatcher, string configDirectory, params IInternalExtension[] internalExtensions)
        {
            if (uiManager == null)
            {
                throw new ArgumentNullException("uiManager");
            }
            if (dispatcher == null)
            {
                throw new ArgumentNullException("dispatcher");
            }
            _internalExtensionsCount = internalExtensions.Length;

            _dispatcher = dispatcher;
            _uiManager  = uiManager;

            _extensions = new Dictionary <string, IExtension>();
            foreach (var p in internalExtensions)
            {
                _extensions.Add(p.InternalName, p);
            }
        }