protected override async Task OnStartupAsync() { //插入RibbonTab Mg.Get <IMgRibbon>().InsertRibbonTab(this, new MyTabViewModel()); //在已有的菜单组中插入菜单按钮 _groupVm = Mg.Get <IMgRibbon>().GetRibbonGroup(LocalConfig.InsertGroupName); if (_groupVm != null) { _viewBtn = new RibbonButtonViewModel { ButtonSize = ButtonSize.Large, Text = "我的按钮", LargeImage = this.GetAppResPath("Assets\\logo.jpg"), SmallImage = this.GetAppResPath("Assets\\logo.jpg"), Click = new RelayCommand(ShowPane)//按钮命令 }; _groupVm.Items.Add(_viewBtn); } else { Mg.Get <IMgLog>().Warn($"没有找到名称为{LocalConfig.InsertGroupName}的菜单组,无法插入菜单按钮!"); } //注册全局命令,全局命令可以任何地方使用 Mg.Get <IMgCommand>().Register(this, new CommandInfo("AlertMessage", new RelayCommand(OnAlertMessage))); Mg.Get <IMgCommand>().Register(this, new CommandInfo("AlertMessageAsync", new AsyncCommand(OnAlertMessageAsync, CanAlertMessageAsync))); await Task.Yield(); }
protected override async Task OnStartupAsync() { //插入菜单组 Mg.Get <IMgRibbon>().InsertRibbonTab(this, new MyTabViewModel()); //在已有的菜单组中插入菜单按钮 _groupVm = Mg.Get <IMgRibbon>().GetRibbonGroup(LocalConfig.InsertGroupName); if (_groupVm != null) { _viewBtn = new RibbonButtonViewModel { ButtonSize = ButtonSize.Large, Text = "打开非异步窗口", LargeImage = this.GetAppResPath("Assets\\logo.jpg"), SmallImage = this.GetAppResPath("Assets\\logo.jpg"), Click = new RelayCommand(ShowWindow) //按钮命令 }; _groupVm.Items.Add(_viewBtn); //添加到菜单组里 _viewBtnAsync = new RibbonButtonViewModel { ButtonSize = ButtonSize.Large, Text = "打开异步窗口", LargeImage = this.GetAppResPath("Assets\\logo.jpg"), SmallImage = this.GetAppResPath("Assets\\logo.jpg"), Click = new RelayCommand(ShowWindowAsync) //按钮命令 }; _groupVm.Items.Add(_viewBtnAsync); //添加到菜单组里 } else { Mg.Get <IMgLog>().Warn($"没有找到名称为{LocalConfig.InsertGroupName}的菜单组,无法插入菜单按钮!"); } await Task.Yield(); }
private async void OnAddData() { var data = new List <IRecord> { new DynamicRecord { { "Number", UserSource.Count + 1 }, { "Name", "小茗" }, { "Remark", "-" } }, new DynamicRecord { { "Number", UserSource.Count + 2 }, { "Name", "冷冷" }, { "Remark", "-" } }, new DynamicRecord { { "Number", UserSource.Count + 3 }, { "Name", "暖暖" }, { "Remark", "-" } } }; var result = await CustomDataApi.AddCustomDataAsync(_tableName, data.ToArray()); if (!result.IsOk) { Mg.Get <IMgDialog>().ShowDesktopAlert("添加学生数据到自定义新表失败", result.Message); return; } Refresh(); }
private void OnRegisterPlug() { var data = new Func <IRecord, Task>(PlugAction); Mg.Get <IMgSlot>().PushPlugs(App.Instance <DemoApp>(), new Plug("FirstPlug", "DemoApp:Startup", data)); Mg.Get <IMgDialog>().ShowDesktopAlert("提示", "注册了插槽DemoApp:Startup里的插头FirstPlug!"); }
protected override async Task OnStartupAsync() { //插入RibbonTab Mg.Get <IMgRibbon>().InsertRibbonTab(this, new MyTabViewModel()); Mg.Get <IMgApp>().AddInstalledEventHandler(InstalledEvent); await Task.Yield(); }
public FirstViewModel() { ButtonCmd = new RelayCommand(OnButtonCmd, CanButtonCmd); ButtonCmdAsync = new AsyncCommand(OnButtonCmdAsync, CanButtonCmdAsync); GlobalCommand = Mg.Get <IMgCommand>().GetCommandInfo("AlertMessage").Command as RelayCommand; GlobalCommandAsync = Mg.Get <IMgCommand>().GetCommandInfo("AlertMessageAsync").Command as AsyncCommand; }
/// <summary> /// 加载批注标签数据 /// </summary> private async void LoadPostilTagData() { PostilTagList.Clear(); var listParams = new ListParams { Search = Query.Eq(Hubs.Tag.ProjectId, Mg.Get <IMgContext>().ProjectId) }; var result = await DataApi.GetListAsync(Hubs.Tag.T, listParams); if (!result.IsOk) { return; } var records = result.GetRecords(); foreach (var record in records) { var name = record[Hubs.Tag.Name].As <string>(); var model = new TagInfoModel { Id = record.Id, Name = $" {name} " }; PostilTagList.Add(model); } }
private void OnInsertImage() { var param = new { ImagePath = this.GetAppResPath("Assets\\logo.jpg"), //string: 图片路径,必填* HorizontalAlignment = "Left", //string: 水平对齐,取值为:Left;Center;Right 默认为"Left" VerticalAlignment = "Top", //string: 竖向对齐,取值为:Top;Center;Bottom 默认为"Top" Left = 0f, //float: 左边距,默认为0f Right = 0f, //float: 右边距,默认为0f Top = 0f, //float: 上边距,默认为0f Bottom = 0f, //float: 下边距,默认为0f Width = float.NaN, //float: 图片宽度,默认为float.NaN,表示图片的像素宽度 Height = float.NaN, //float: 图片高度,默认为float.NaN,表示图片的像素高度 Opacity = 1f //float: 图片透明度,默认为1f }; var result = Mg.Get <IMgService>().Invoke <DemoApp>("GraphicPlatform:InsertImage", param); if (result.IsOk) { _graphicPlatformImageKey = result.Data.As <uint>(); //图片标识 } else { Mg.Get <IMgDialog>().ShowDesktopAlert("提示", result.Message); } }
/// <summary> /// 获取图形平台的截图 /// </summary> private bool GetGraphicPlatformCaptureScreen() { var tempDir = this.GetAppResPath("PostilFile\\"); if (!Directory.Exists(tempDir)) { Directory.CreateDirectory(tempDir); } _screenshotPicPath = tempDir + DateTime.Now.ToString("yyyyMMddHHmmss") + ".JPG"; if (File.Exists(_screenshotPicPath)) { File.Delete(_screenshotPicPath); } var r = Mg.Get <IMgService>().Invoke <PostilApp>("GraphicPlatform:CaptureScreen", _screenshotPicPath);//传入图片需要保存的路径 if (!r.IsOk) { Mg.Get <IMgLog>().Error("获取图形平台截图失败!无法调用图形管理平台服务,需打开图形管理平台模块!"); Mg.Get <IMgDialog>().ShowDesktopAlert("获取图形平台截图失败", "无法调用图形管理平台服务,需打开图形管理平台模块!"); return(false); } if (File.Exists(_screenshotPicPath)) { ViewPicture = this.GetAppImageSource(_screenshotPicPath); return(true); } Mg.Get <IMgLog>().Error("获取图形平台截图失败!"); Mg.Get <IMgDialog>().ShowDesktopAlert("提示", "获取图形平台截图失败!"); return(false); }
protected override void OnViewLoaded(bool isFirstLoaded) { base.OnViewLoaded(isFirstLoaded); if (!isFirstLoaded) { return; } if (_selectedPostilId != null) { LoadPostilInfosAsync(_currentPageIndex, () => SelectedViewPicModel = ViewPictureModels.FirstOrDefault(t => t.PostilId == _selectedPostilId)); } else { var pane = Mg.Get <IMgDocking>().GetPane(typeof(PostilPanelListViewModel)); var panelListVm = pane?.Content as PostilPanelListViewModel; if (panelListVm?.SelectedPostilInfoModel == null || panelListVm.PostilInfoModels.Count == 0) { LoadPostilInfosAsync(0); } else { var index = panelListVm.PostilInfoModels.IndexOf(panelListVm.SelectedPostilInfoModel); if (index == -1) { _currentPageIndex = 0; } else { _currentPageIndex = index / 8; } _selectedPostilId = panelListVm.SelectedPostilInfoModel._id; LoadPostilInfosAsync(_currentPageIndex, () => SelectedViewPicModel = ViewPictureModels.FirstOrDefault(t => t.PostilId == _selectedPostilId)); } } }
public async void OnOpenAddPostilView() { var privilege = await Mg.Get <IMgContext>().GetPrivilegeAsync(ModuleKeys.OpenAddPostilView); if (!privilege) { Mg.Get <IMgLog>().Error("您没有添加批注的权限!"); Mg.Get <IMgDialog>().ShowDesktopAlert("提示", "您没有添加批注的权限!"); return; } var addPostil = new AddPostilViewModel(); var vm = new DialogViewModel(addPostil) { Title = "添加批注", Width = 1400, Height = 800, CancelButtonVisibility = Visibility.Visible, OkButtonVisibility = Visibility.Visible, Icon = this.GetAppImageSource("Assets/添加批注.png"), ResizeMode = ResizeMode.CanResize }; var result = Mg.Get <IMgDialog>().ShowDialog(vm); if (result != CloseResult.Ok) { return; } addPostil.OnAddPostil(); }
private async Task PlugAction(IRecord data) { await Task.Delay(100); var who = data["Name"].As <string>(); Mg.Get <IMgDialog>().ShowDesktopAlert("提示", $"Hi,{who}!"); }
protected override async Task OnStartupAsync() { //插入Ribbon菜单 Mg.Get <IMgRibbon>().InsertRibbonTab(this, new MyTabViewModel()); //var menuName = "别的应用已存在的菜单名"; //var mItemInfo = new MenuItemInfo("我是别的地方插入的菜单","已存在的全局命令名") { GroupName = "菜单组名" }; //Mg.Get<IMgMenu>().Register(this, menuName, mItemInfo);//往别的应用的菜单添加菜单项 await Task.Yield(); }
/// <summary> /// 获取文件URL(批量) /// </summary> /// <param name="ids">需要获取URL的文件Id集合</param> /// <returns></returns> public static async Task <Result> GetFilesUrlAsync(Id[] ids) { var result = await Mg.Get <IMgWeb>().GetResultAsync <PostilApp>("v1/data/get_files_url", new { Ids = ids }); return(result); }
/// <summary> /// 删除文件(批量) /// </summary> /// <param name="ids">需要删除的文件Id集合</param> /// <returns></returns> public static async Task <Result> DeleteFilesAsync(Id[] ids) { var result = await Mg.Get <IMgWeb>().PostAsync <PostilApp>("v1/data/delete_files", new { Ids = ids }); return(result); }
private void ShowPane() { Mg.Get <IMgDocking>().TryOpenPane <DemoApp, FirstViewModel>(t => { t.Header = "我的第一个面板"; t.IsDocument = true; return(new FirstViewModel()); }); }
protected override void OnExited() { var myTab = Mg.Get <IMgRibbon>().GetRibbonTab("MyTab"); if (myTab != null) { Mg.Get <IMgRibbon>().RemoveRibbonTab(myTab); } }
private void InstalledEvent() { if (DemoAppSetting.Ins.AlwaysShow) { ShowPane(); } //系统设置中应用的设置界面 Mg.Get <IMgSetting>().AddPluginSettingItem(this, new SettingItem("我的应用", new SettingViewModel())); }
/// <summary> /// 获取用户信息列表 /// </summary> /// <param name="listParams">集合的筛选、分页、排序、映射参数</param> /// <returns></returns> public static async Task <Result> GetUserInfoListAsync(ListParams listParams = null) { var result = await Mg.Get <IMgWeb>().GetResultAsync <PostilApp>("v1/user/list", new { ListParams = listParams }); return(result); }
public PostilPanelListViewModel() { PostilInfoModels = new ObservableCollection <PostilInfoModel>(); _backupPostilInfoModels = new ObservableCollection <PostilInfoModel>(); Refresh = new RelayCommand(OnRefresh, CanRefresh); Search = OnSearchAsync; Mg.Get <IMgWeb>().AddWebMsgHandler(App.Instance <PostilApp>(), "demoPostil/add", DataAdd); Mg.Get <IMgWeb>().AddWebMsgHandler(App.Instance <PostilApp>(), "demoPostil/delete", DataDelete); }
private void OnDateTimeChanged(object vm) { var time = (vm as RibbonDatePickerViewModel)?.DateTime; if (time == null) { return; } Mg.Get <IMgDialog>().ShowDesktopAlert("提示", $"选择的日期为:{((DateTime)time).ToString("yyyy-MM-dd HH:mm:ss")}"); }
private async void OnSelectNodes() { IEnumerable <ISpatialNode> selNodes = null; var result = await Mg.Get <IMgService>().InvokeAsync <DemoApp>("GraphicPlatform:SelectNodes"); if (result.IsOk) { selNodes = result.Data.AsArray <ISpatialNode>(); } }
private async void OnSelectPoint() { Tuple <ISpatialNode, Point3D> tuple = null; var result = await Mg.Get <IMgService>().InvokeAsync <DemoApp>("GraphicPlatform:SelectPoint", null); if (result.IsOk) { tuple = result.Data.As <Tuple <ISpatialNode, Point3D> >(); } }
private void OnChangeContextMenuItem(object vm) { var header = (vm as RibbonContextMenuItemViewModel)?.ToString(); if (header == null) { return; } Mg.Get <IMgDialog>().ShowDesktopAlert("提示", $"选中了{header}"); }
private void OnColorChanged(object vm) { var color = (vm as RibbonColorPickerViewModel)?.Color; if (color == null) { return; } Mg.Get <IMgDialog>().ShowDesktopAlert("提示", $"选中了{color}"); }
private void OnChangeRadioButton(object vm) { var name = (vm as RibbonRadioButtonViewModel)?.Name; if (name == null) { return; } Mg.Get <IMgDialog>().ShowDesktopAlert("提示", $"选中了{name}"); }
private void OnComboBoxSelectedItemChanged(object vm) { var selectedItem = (vm as RibbonComboBoxViewModel)?.SelectedItem; if (selectedItem == null) { return; } Mg.Get <IMgDialog>().ShowDesktopAlert("提示", $"选择的字体为:{selectedItem}"); }
private void OnTextChanged(object vm) { var value = (vm as RibbonTextBoxViewModel)?.Text; if (value == null) { return; } Mg.Get <IMgDialog>().ShowDesktopAlert("提示", $"文本框的文本为:{value}"); }
private void OnValueChanged(object vm) { var value = (vm as RibbonSlideViewModel)?.Value; if (value == null) { return; } Mg.Get <IMgDialog>().ShowDesktopAlert("提示", $"选取的值为:{value}"); }
private void OnGallerySelectedItemChanged(object vm) { var selectedItem = (vm as RibbonGalleryViewModel)?.SelectedItem; if (selectedItem == null) { return; } Mg.Get <IMgDialog>().ShowDesktopAlert("提示", $"选中了{selectedItem.Name}"); }