public msg Execute(msg m) { if (m == null || m.Input == null) { return(m); } bool hasUpdate = false; switch (m.KEY) { case _API.SETTING_APP_KEY_UPDATE_FOLDER: #region string fol = (string)m.Input; if (!string.IsNullOrEmpty(fol)) { fol = fol.ToLower().Trim(); lock (_lock) { if (_setting.list_folder.IndexOf(fol) == -1) { _setting.list_folder.Add(fol); hasUpdate = true; app.postMessageToService(new msg() { API = _API.FOLDER_ANYLCTIC, Input = fol }); } } } #endregion break; case _API.SETTING_APP_KEY_UPDATE_NODE_OPENING: oNode node = (oNode)m.Input; lock (_lock) _setting.node_opening = node.id; hasUpdate = true; break; case _API.SETTING_APP_KEY_UPDATE_SIZE: oAppSize app_size = (oAppSize)m.Input; lock (_lock) { _setting.app_size = app_size; hasUpdate = true; } break; } //if (hasUpdate) //{ // using (var file = File.Create(file_name)) // { // Serializer.Serialize<oSetting>(file, _setting); // } //} m.Output.Ok = hasUpdate; m.Output.Data = hasUpdate; return(m); }
public static void Add(oNode node) { lock (_lock) dicItems.Add(node.id, node); }
private oNode node_Parse(string path_file) { if (!File.Exists(path_file)) { return(null); } oNode node = new oNode(); node.path = path_file; node.name = Path.GetFileName(path_file); switch (Path.GetExtension(path_file).ToLower()) { case ".txt": node.type = oNodeType.TEXT; node.content = File.ReadAllText(path_file); node.title = node.content.Split(new char[] { '\r', '\n' })[0]; break; case ".pdf": node.type = oNodeType.PDF; node.title = node.name.Substring(0, node.name.Length - 4).Trim(); break; case ".html": node.type = oNodeType.HTML; node.title = node.name.Substring(0, node.name.Length - 5).Trim(); break; case ".htm": node.type = oNodeType.HTM; node.title = node.name.Substring(0, node.name.Length - 4).Trim(); break; case ".doc": node.type = oNodeType.DOC; node.title = node.name.Substring(0, node.name.Length - 4).Trim(); break; case ".docx": node.type = oNodeType.DOCX; node.title = node.name.Substring(0, node.name.Length - 5).Trim(); break; case ".xls": node.type = oNodeType.XLS; node.title = node.name.Substring(0, node.name.Length - 4).Trim(); break; case ".xlsx": node.type = oNodeType.XLSX; node.title = node.name.Substring(0, node.name.Length - 5).Trim(); break; case ".ppt": node.type = oNodeType.PPT; node.title = node.name.Substring(0, node.name.Length - 4).Trim(); break; case ".pptx": node.type = oNodeType.PPTX; node.title = node.name.Substring(0, node.name.Length - 5).Trim(); break; default: node = null; break; } return(node); }
public uiItemLabel(oNode node, IconType iconType = IconType._none) { _node = node; string text = node.title; _detail = new FlowLayoutPanel() { Visible = false, AutoScroll = true, //Dock = DockStyle.Fill, BackColor = Color.White, FlowDirection = FlowDirection.RightToLeft, WrapContents = true, Padding = new Padding(7, 0, 0, 0), RightToLeft = RightToLeft.Yes, BorderStyle = BorderStyle.None, Margin = new Padding(0), }; _exit = new IconButton() { IconType = IconType.close_circled, Visible = false }; _text = new Label() { Text = text, AutoSize = true, TextAlign = ContentAlignment.TopLeft }; _state = new Label() { Dock = DockStyle.Left, AutoSize = false, Width = 1 }; using (Graphics g = CreateGraphics()) { SizeF size = g.MeasureString(text, _text.Font); wi_text = (int)Math.Ceiling(size.Width); } if (iconType != IconType._none) { _icon = new IconButton(19) { IconType = iconType, Location = new Point(3, 5), Width = 19 }; this.Controls.Add(_icon); wi_header = wi_text + _icon.Width + _state.Width; _text.Location = new Point(_icon.Width + _state.Width, 5); } else { wi_header = wi_text + _state.Width; _text.Location = new Point(_state.Width, 5); } this.Width = wi_header; this.Controls.AddRange(new Control[] { _text, _state, _exit, _detail }); _text.Click += _text_Click; _exit.Click += _text_Click; this.Click += _text_Click; this.HandleCreated += (se, ev) => { if (wi_header > this.Parent.Width) { wi_header = this.Parent.Width; this.Width = wi_header; } }; }