public override void Init() { appPath = Path.Combine("Apps", "RemotePlayer"); currentWindow = new XingKongWindow(); XingKongWindow.Entity entity = JsonConvert.DeserializeObject <XingKongWindow.Entity>(File.ReadAllText(Path.Combine(this.appPath, "RemotePlayerForm.json"))); currentWindow.SetEntity(entity); pbAlbum = currentWindow.ControlsSet["pbAlbum"] as XingKongImageBox; lbNowPlaying = currentWindow.ControlsSet["lbNowPlaying"] as XingKongLabel; lbName = currentWindow.ControlsSet["lbName"] as XingKongLabel; lbSinger = currentWindow.ControlsSet["lbSinger"] as XingKongLabel; lbAlbum = currentWindow.ControlsSet["lbAlbum"] as XingKongLabel; lbExit = currentWindow.ControlsSet["lbExit"] as XingKongLabel; lbName.Text = "暂无信息"; lbSinger.Text = "暂无信息"; lbAlbum.Text = "暂无信息"; //pbAlbum.SkipPreProceed = true; defaultAlubmPath = Path.Combine(appPath, "album.png"); pbAlbum.LoadPicture(defaultAlubmPath); XingKongScreen.ClearScreen(); currentWindow.HardworkDraw(); XingKongScreen.FreshScreen(); keyboard = XingKongScreen.GetKeyboard(); keyboard.KeyPressed += new Keyboard.KeyPressedHandler(Keyboard_KeyPressed); tcpListener = new TcpListener(); tcpListener.MusicInfoReceived = MusicInfoReceived; tcpListener.Start(); }
/// <summary> /// 显示关机界面 /// </summary> private void showShutdownInterface() { string shutdownWindowJson = File.ReadAllText(@"ShutdownForm.json"); XingKongWindow.Entity windowEntity = JsonConvert.DeserializeObject <XingKongWindow.Entity>(shutdownWindowJson); XingKongWindow shutdownWindow = new XingKongWindow(); shutdownWindow.SetEntity(windowEntity); XingKongImageBox pbLogo = shutdownWindow.ControlsSet["pbLogo"] as XingKongImageBox; XingKongImageBox pbCopyright = shutdownWindow.ControlsSet["pbCopyright"] as XingKongImageBox; XingKongImageBox pbEarth = shutdownWindow.ControlsSet["pbEarth"] as XingKongImageBox; XingKongImageBox pbDisconnect = shutdownWindow.ControlsSet["pbDisconnect"] as XingKongImageBox; pbLogo.SkipPreProceed = true; pbCopyright.SkipPreProceed = true; pbEarth.SkipPreProceed = true; pbDisconnect.SkipPreProceed = true; pbLogo.LoadPicture(Path.Combine("SystemUI", "Logo_cut_1.bmp")); pbCopyright.LoadPicture(Path.Combine("SystemUI", "Logo_cut_2.bmp")); pbEarth.LoadPicture(Path.Combine("SystemUI", "Icon_Earth.bmp")); pbDisconnect.LoadPicture(Path.Combine("SystemUI", "Icon_Disconnected.bmp")); XingKongScreen.ClearScreen(); shutdownWindow.HardworkDraw(); XingKongScreen.FreshScreen(); }
private void ShowInfoWindow(KuaidiListItem selectedItem) { currentWindow = kuaidiInfoWindow; LogData(selectedItem.ToString()); try { string url = string.Format(urlFormat, selectedItem.ComPyName, selectedItem.KdNumber); string responseStr = XingKongUtils.HttpUtils.Get(url); LogData(responseStr); //Regex reg = new Regex(@"(?i)\\[uU]([0-9a-f]{4})"); //responseStr = reg.Replace(responseStr, delegate (Match m) { return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString(); }); EntityHelper.ResponseEntity response = JsonConvert.DeserializeObject <EntityHelper.ResponseEntity>(responseStr); lbInfoTitle.Text = selectedItem.ComCnName + " " + selectedItem.KdNumber; if (response.data != null && response.data.Count > 0) { ShowDashedLineByCount(response.data.Count); for (int i = 0; i < 4; i++) { if (i + 1 <= response.data.Count) { LogData(string.Format("i={0}, desc={1}, time={2}", i, response.data[i].context, response.data[i].time)); infoGroup[i].Msg = response.data[i].context; infoGroup[i].Time = response.data[i].time; infoGroup[i].Visibility = true; } else { infoGroup[i].Visibility = false; } } } else { g1.Visibility = true; g2.Visibility = false; g3.Visibility = false; g4.Visibility = false; g1.Msg = response.message + ""; g1.Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } } catch (Exception ex) { lbInfoTitle.Text = "错误"; g1.Visibility = false; g2.Visibility = false; g3.Visibility = false; g4.Visibility = false; LogData(ex.Message); } XingKongScreen.ClearScreen(); currentWindow.HardworkDraw(); XingKongScreen.FreshScreen(); }
public void Init() { thisWindow = new XingKongWindow(); string shutdownWindowJson = File.ReadAllText(@"AppForm.json"); XingKongWindow.Entity windowEntity = JsonConvert.DeserializeObject <XingKongWindow.Entity>(shutdownWindowJson); thisWindow.SetEntity(windowEntity); btLaunch = thisWindow.ControlsSet["btLaunch"] as XingKongButton; btBack = thisWindow.ControlsSet["btBack"] as XingKongButton; pbIcon = thisWindow.ControlsSet["pbIcon"] as XingKongImageBox; lbAllApps = thisWindow.ControlsSet["lbAllApps"] as XingKongLabel; lbApps = thisWindow.ControlsSet["lbApps"] as XingKongListBox; lbApps.Refresh(); pbIcon.SkipPreProceed = true; pbIcon.LoadPicture(Path.Combine("SystemUI", "appstore.png")); apps = AppFinder.GetAppList(); if ((apps == null) || (apps.Count == 0)) { XingKongMessageBox box1 = new XingKongMessageBox { Caption = "提示", Title = "然而一个应用都没有。" }; box1.btOk.IsChecked = true; box1.DialogStyle = XingKongMessageBox.Style.OK; Console.WriteLine("user clicked: " + box1.ShowAsync().Result); } else { if (lbApps.Items == null) { lbApps.Items = new List <string>(); } foreach (AppInfo info in apps) { lbApps.Items.Add(info.AppName); } lbApps.Refresh(); } XingKongScreen.ClearScreen(); thisWindow.HardworkDraw(); XingKongScreen.FreshScreen(); keyboard = XingKongScreen.GetKeyboard(); keyboard.KeyPressed += new Keyboard.KeyPressedHandler(Keyboard_KeyPressed); }
public override void Resume() { XingKongScreen.ClearScreen(); UpdateTime(); UpdateIp(); UpdateSystemInfo(); currentForm.HardworkDraw(); XingKongScreen.FreshScreen(); SyncMiniuteTimer(); UpdateWeather(); autoWeatherTimer.Enabled = true; keyboard.KeyPressed += Keyboard_KeyPressed; }
private void ShowMainWindow() { currentWindow = mainWindow; List <string> kuaidiListSource = new List <string>(); KuaidiItemList = GetKuaidiList(); foreach (var item in KuaidiItemList) { kuaidiListSource.Add(item.DisplayName); } lbKuaidis.Items = kuaidiListSource; lbKuaidis.Refresh(); XingKongScreen.ClearScreen(); currentWindow.HardworkDraw(); XingKongScreen.FreshScreen(); }
public override void Init() { appPath = Path.Combine("Apps", "PhotoLibrary"); currentWindow = new XingKongWindow(); XingKongWindow.Entity entity = JsonConvert.DeserializeObject <XingKongWindow.Entity>(File.ReadAllText(Path.Combine(this.appPath, "MainForm.json"))); currentWindow.SetEntity(entity); lbHint = this.currentWindow.ControlsSet["lbHint"] as XingKongLabel; lbCaption = this.currentWindow.ControlsSet["lbCaption"] as XingKongLabel; lbPicList = this.currentWindow.ControlsSet["lbPicList"] as XingKongListBox; lbPicList.Items = this.GetPicFileNames(); lbPicList.Refresh(); keyboard = XingKongScreen.GetKeyboard(); keyboard.KeyPressed += new Keyboard.KeyPressedHandler(this.Keyboard_KeyPressed); XingKongScreen.ClearScreen(); currentWindow.HardworkDraw(); XingKongScreen.FreshScreen(); }
private static System.Timers.Timer PortDemonTimer;//狗日的辣鸡pi有的时候会把ttyUSB0突然变成ttyUSB1 static void Main(string[] args) { Utils.ConfigManager configManager = Utils.ConfigManager.GetInstance(); config = configManager.Config; Console.WriteLine("PortName: " + config.PortName); if (args != null && args.Length >= 2 && args[0].Equals("-ip")) { XingKongScreen.IsRemote = true; XingKongScreen.RemoteIp = args[1]; } else if (!string.IsNullOrWhiteSpace(config.BackupPortName) && XingKongScreen.IsRunningOnMono()) { Console.WriteLine("BackupPortName: " + config.BackupPortName); PortDemonTimer = new System.Timers.Timer(); PortDemonTimer.Elapsed += PortDemonTimer_Elapsed; PortDemonTimer.Interval = 1000 * 30;//30秒检查一次 PortDemonTimer.Enabled = true; } XingKongScreen.OpenScreen(config.PortName); XingKongScreen.SetColor(); XingKongScreen.ClearScreen(); SystemUI = LoadAppAsync("SystemUI"); if (args != null && args.Length >= 1 && args[0].Equals("-bg")) { //让程序在linux下在后台执行不退出 //需要输入下列命令来启动本程序 //nohup mono AppLoader.exe -bg & Thread.CurrentThread.Suspend(); } else { Console.Write("> "); string input = Console.ReadLine(); while (!input.Equals("exit")) { Console.Write("> "); input = Console.ReadLine(); } } XingKongScreen.CloseScreen(); }
/// <summary> /// 显示启动界面 /// </summary> private void showStartingInterface() { string startingWindowJson = File.ReadAllText(@"StartingForm.json"); XingKongWindow.Entity windowEntity = JsonConvert.DeserializeObject <XingKongWindow.Entity>(startingWindowJson); XingKongWindow loadingWindow = new XingKongWindow(); loadingWindow.SetEntity(windowEntity); XingKongImageBox pbLogo = loadingWindow.ControlsSet["pbLogo"] as XingKongImageBox; XingKongImageBox pbCopyright = loadingWindow.ControlsSet["pbCopyright"] as XingKongImageBox; pbLogo.SkipPreProceed = true; pbCopyright.SkipPreProceed = true; pbLogo.LoadPicture(Path.Combine("SystemUI", "Logo_cut_1.bmp")); pbCopyright.LoadPicture(Path.Combine("SystemUI", "Logo_cut_2.bmp")); loadingWindow.HardworkDraw(); XingKongScreen.FreshScreen(); XingKongScreen.ClearScreen(); }
public void MusicInfoReceived(MusicInfo mi) { //Console.WriteLine(mi.Name); //Console.WriteLine(mi.Singer); //Console.WriteLine(mi.Album); //Console.WriteLine(mi.picBase64); udpsend = new XingKongUtils.UdpUtils.UdpSend(tcpListener.RemoteIp.ToString(), 7777);//每次建立连接后都重新初始化一下udp对象 lbName.Text = mi.Name; lbSinger.Text = mi.Singer; lbAlbum.Text = mi.Album; if (!string.IsNullOrWhiteSpace(mi.picBase64)) { pbAlbum.LoadPicture(ToImage(mi.picBase64)); } XingKongScreen.ClearScreen(); currentWindow.HardworkDraw(); XingKongScreen.FreshScreen(); }
protected void LocalShow() { if (Program.Args != null && Program.Args.Length >= 2 && Program.Args[0].Equals("-ip")) { XingKongScreen.IsRemote = true; XingKongScreen.RemoteIp = Program.Args[1]; } XingKongScreen.OpenScreen(PortName); XingKongScreen.ClearScreen(); XingKongWindow window = GetXingKongWindow(); window.Draw(); XingKongScreen.FreshScreen(); XingKongScreen.CloseScreen(); }
public override void Init() { appPath = Path.Combine("Apps", "TpLinkNetMonitor"); currentWindow = new XingKongWindow(); XingKongWindow.Entity entity = JsonConvert.DeserializeObject <XingKongWindow.Entity>(File.ReadAllText(Path.Combine(this.appPath, "MainForm.json"))); currentWindow.SetEntity(entity); XingKongPanel plGlobal = currentWindow.ControlsSet["plGlobal"] as XingKongPanel; lbGlobalDownload = plGlobal.ControlsSet["lbGlobalDownload"] as XingKongLabel; lbGlobalUpload = plGlobal.ControlsSet["lbGlobalUpload"] as XingKongLabel; XingKongPanel plArea0 = currentWindow.ControlsSet["plArea0"] as XingKongPanel; lbArea0PcName = plArea0.ControlsSet["lbArea0PcName"] as XingKongLabel; lbArea0Ip = plArea0.ControlsSet["lbArea0Ip"] as XingKongLabel; lbArea0Up = plArea0.ControlsSet["lbArea0Up"] as XingKongLabel; lbArea0Down = plArea0.ControlsSet["lbArea0Down"] as XingKongLabel; XingKongPanel plArea1 = currentWindow.ControlsSet["plArea1"] as XingKongPanel; lbArea1PcName = plArea1.ControlsSet["lbArea1PcName"] as XingKongLabel; lbArea1Ip = plArea1.ControlsSet["lbArea1Ip"] as XingKongLabel; lbArea1Up = plArea1.ControlsSet["lbArea1Up"] as XingKongLabel; lbArea1Down = plArea1.ControlsSet["lbArea1Down"] as XingKongLabel; XingKongPanel plArea2 = currentWindow.ControlsSet["plArea2"] as XingKongPanel; lbArea2PcName = plArea2.ControlsSet["lbArea2PcName"] as XingKongLabel; lbArea2Ip = plArea2.ControlsSet["lbArea2Ip"] as XingKongLabel; lbArea2Up = plArea2.ControlsSet["lbArea2Up"] as XingKongLabel; lbArea2Down = plArea2.ControlsSet["lbArea2Down"] as XingKongLabel; XingKongPanel plArea3 = currentWindow.ControlsSet["plArea3"] as XingKongPanel; lbArea3PcName = plArea3.ControlsSet["lbArea3PcName"] as XingKongLabel; lbArea3Ip = plArea3.ControlsSet["lbArea3Ip"] as XingKongLabel; lbArea3Up = plArea3.ControlsSet["lbArea3Up"] as XingKongLabel; lbArea3Down = plArea3.ControlsSet["lbArea3Down"] as XingKongLabel; XingKongPanel plPage = currentWindow.ControlsSet["plPage"] as XingKongPanel; lbPage = plPage.ControlsSet["lbPage"] as XingKongLabel; btPrev = currentWindow.ControlsSet["btPrev"] as XingKongButton; btNext = currentWindow.ControlsSet["btNext"] as XingKongButton; //显示初始内容 lbGlobalDownload.Text = "下载:N/A"; lbGlobalUpload.Text = "上传:N/A"; for (int i = 0; i < 4; i++) { setAreaContent(i, null); } lbPage.Text = "退出:Esc"; pageManager = new PageManager(); XingKongScreen.ClearScreen(); currentWindow.HardworkDraw(); XingKongScreen.FreshScreen(); //登陆并启动定时刷新计时器 if (Login(out token)) { LogData("登陆成功,token:" + token); request_url = string.Format("http://192.168.0.1/stok={0}/ds", token); if (timer == null) { timer = new System.Timers.Timer(); timer.Interval = 1000; timer.Elapsed += Timer_Elapsed; timer.Start(); } } else { LogData("登陆失败"); XingKongMessageBox msgBox = new XingKongMessageBox(); msgBox.Title = "登陆TP-Link后台失败"; msgBox.Caption = "提示"; msgBox.DialogStyle = XingKongMessageBox.Style.OK; XingKongMessageBox.DialogResult result = msgBox.ShowAsync().Result; LogData("user click : " + result.ToString()); Quit(); } keyboard = XingKongScreen.GetKeyboard(); keyboard.KeyPressed += new Keyboard.KeyPressedHandler(this.Keyboard_KeyPressed); }
private async void Keyboard_KeyPressed(System.Windows.Forms.Keys pressedKey) { switch (pressedKey) { case System.Windows.Forms.Keys.Left: buttonIndex = (--buttonIndex % 3); break; case System.Windows.Forms.Keys.Right: buttonIndex = (++buttonIndex % 3); break; default: break; } if (buttonIndex < 0) { buttonIndex += 3; } switch (pressedKey) { case System.Windows.Forms.Keys.Left: case System.Windows.Forms.Keys.Right: switchButton(buttonIndex); XingKongScreen.FreshScreen(); break; case System.Windows.Forms.Keys.Enter: if (buttonIndex == 2) { //用户选择并点击了了关机按钮 XingKongMessageBox mb = new XingKongMessageBox(); mb.Caption = "提示"; mb.Title = "确定要关机吗?"; mb.btOk.IsChecked = false; mb.btCancel.IsChecked = true; Suspend(); XingKongMessageBox.DialogResult result = await mb.ShowAsync(); Console.WriteLine("user clicked: " + result.ToString()); switch (result) { case XingKongMessageBox.DialogResult.OK: Thread t = new Thread(new ThreadStart(ShutdownComputer)); t.IsBackground = true; t.Start(); break; case XingKongMessageBox.DialogResult.Cancel: Resume(); break; default: Resume(); break; } } else if (buttonIndex == 1) { //用户选择并点击了应用按钮 Suspend(); AppForm appForm = new AppForm(); appForm.QuitAction = Resume; appForm.LoadAppAction = LoadAppAction; Thread t = new Thread(new ThreadStart(appForm.Init)); t.IsBackground = true; t.Start(); } break; case System.Windows.Forms.Keys.F5: XingKongScreen.ClearScreen(); currentForm.HardworkDraw(); XingKongScreen.FreshScreen(); break; default: break; } }
private void Keyboard_KeyPressed(Keys pressedKey) { if (pressedKey <= Keys.Escape) { if (pressedKey != Keys.Enter) { if (pressedKey == Keys.Escape) { this.LogData("inPicViewMode: " + (this.inPicViewMode ? "true" : "false")); if (this.inPicViewMode) { this.inPicViewMode = false; XingKongScreen.ClearScreen(); this.currentWindow.HardworkDraw(); XingKongScreen.FreshScreen(); } else { this.Suspend(); this.Quit(); } } } else if (!this.inPicViewMode) { XingKongImageBox control = new XingKongImageBox(); string data = Path.Combine(this.appPath, this.lbPicList.Items[this.lbPicList.SelectedIndex]); this.LogData(data); ImageHelper.Size size = ImageHelper.getPictureSize(data); this.LogData(string.Format("Width:{0} Height:{1}", size.Width, size.Height)); if ((size.Height > 600) || (size.Width > 800)) { Bitmap pic = ImageHelper.Scale(new Bitmap(data), 600, 800); control.LoadPicture(pic); } else { control.LoadPicture(data); } control.Name = "imageBox1"; control.Left = (800 - control.Width) / 2; control.Top = (600 - control.Height) / 2; //control.SkipPreProceed = true; XingKongWindow window1 = new XingKongWindow(); window1.AddChild(control); this.inPicViewMode = true; XingKongScreen.ClearScreen(); window1.Draw(); XingKongScreen.FreshScreen(); } } else { if (pressedKey != Keys.Up) { if (pressedKey != Keys.Down) { return; } } else { if (!this.inPicViewMode) { this.lbPicList.SelectPrevious(); this.lbPicList.Draw(); XingKongScreen.FreshScreen(); } return; } if (!this.inPicViewMode) { this.lbPicList.SelectNext(); this.lbPicList.Draw(); XingKongScreen.FreshScreen(); } } }