Exemplo n.º 1
0
        static int Main(string[] args)
        {
            _CheckTimer = new Timer((e) =>
            {
                CheckAndPrint();
            });
            _CheckTimer.Change(TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(5));

            using (var app = new QGuiApplication(args))
            {
                _App = app;
                AppModel.UIDispatch += (a) => _App.Dispatch(a);
                QQmlApplicationEngine.ActivateMVVMBehavior();
                using (var engine = new QQmlApplicationEngine())
                {
                    QQmlApplicationEngine.RegisterType <AppModel>("app", 1, 1);

                    var assemblyDir = Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().Location).AbsolutePath);
                    var mainQmlPath = Path.Combine(assemblyDir, "UI", "QML", "main.qml");
                    engine.Load(mainQmlPath);
                    int result = app.Exec();
                    _App = null;
                    return(result);
                }
            }
        }
Exemplo n.º 2
0
 public int Launch(string[] args)
 {
     Builder.ResolveQtRuntime();
     QQuickStyle.SetStyle(Builder.Style);
     RegisterServices();
     using (var application = new QGuiApplication(args))
     {
         using (var qmlEngine = new QQmlApplicationEngine())
         {
             QQmlApplicationEngine.ActivateMVVMBehavior();
             Builder.DoRegisterTypes?.Invoke();
             DoAutoRegisterTypes();
             AddImportPath(qmlEngine);
             qmlEngine.Load(Builder.MainQml);
             Application = application;
             return(application.Exec());
         }
     }
 }
Exemplo n.º 3
0
        static int Main(string[] args)
        {
            using (var app = new QGuiApplication(args))
            {
                QQmlApplicationEngine.ActivateMVVMBehavior();

                if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
                {
                    QQuickStyle.SetStyle("Universal");
                }
                else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
                {
                    QQuickStyle.SetStyle("Material");
                }

                using (var engine = new QQmlApplicationEngine())
                {
                    engine.SetContextProperty("app", new MainViewModel());
                    engine.Load("Views/main.qml");
                    return(app.Exec());
                }
            }
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            const string configFilePath = "config.json";

            ConfigFile configFile = ConfigFile.Read(configFilePath);

            if (configFile == null)
            {
                configFile = new ConfigFile
                {
                    SerialPortName = null,
                    BaudRate       = 9600
                };
                configFile.Save(configFilePath);
            }

            SerialServer serialServer = null;

            while (serialServer == null)
            {
                string[] ports = SerialPort.GetPortNames();
                if (ports.Length < 1)
                {
                    serialServer = new SerialServer(DummyPort.Instance);
                    //Console.WriteLine("No Ports found, retrying in 1s");
                    //Thread.Sleep(1000);
                    continue;
                }

                string portName = null;
                if (!string.IsNullOrEmpty(configFile.SerialPortName))
                {
                    if (ports.Contains(configFile.SerialPortName))
                    {
                        portName = configFile.SerialPortName;
                    }
                    else
                    {
                        Console.WriteLine($"Port {configFile.SerialPortName} not available, retrying in 1s");
                        Thread.Sleep(1000);
                        continue;
                    }
                }
                else
                {
                    portName = ports[0];
                }

                if (portName != null)
                {
                    Console.WriteLine("Connecting to " + portName);
                    int         baudRate = configFile.BaudRate < 1 ? 9600 : configFile.BaudRate;
                    ISerialPort port     = new SerialPortWrapper(portName, baudRate);
                    //ReadTimeOut
                    //WriteTimeOut
                    serialServer = new SerialServer(port);
                }
            }

            CommunicationServer communicationServer = new CommunicationServer(serialServer);
            MachineState        state = new MachineState(communicationServer);

            communicationServer.RunAsync();

            state.Reset();

            RuntimeManager.DiscoverOrDownloadSuitableQtRuntime();

            using (var application = new QGuiApplication(args))
            {
                MainViewModel.App = application;
                QQmlApplicationEngine.ActivateMVVMBehavior();
                using (var qmlEngine = new QQmlApplicationEngine())
                {
                    Qml.Net.Qml.RegisterType <MainViewModel>("LoopMachineOsc");

                    qmlEngine.Load("Main.qml");

                    var result = application.Exec();
                }
            }

            communicationServer.Stop();
        }