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); } } }
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()); } } }
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()); } } }
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(); }