private UserControl GetDataRepositoryContentUserControl() { DataRepositoryContentUserControl userControl = new DataRepositoryContentUserControl(); userControl.DataRepositoryItemMouseDoubleClick += UserControl_DataRepositoryItemMouseDoubleClick; string header1 = GisEditor.LanguageManager.GetStringResource("FolderDataRepositoryUserControlTypeText"); DataRepositoryGridColumn column1 = new DataRepositoryGridColumn(header1, 70, di => di.Category); string header2 = GisEditor.LanguageManager.GetStringResource("CommonSizeText"); DataRepositoryGridColumn column2 = new DataRepositoryGridColumn(header2, 100); column2.CellContentConvertHandler = di => { FileDataRepositoryItem fileDataRepositoryItem = di as FileDataRepositoryItem; if (fileDataRepositoryItem != null) { return(String.Format(CultureInfo.InvariantCulture, "{0:N0} KB" , (int)Math.Ceiling((double)fileDataRepositoryItem.FileInfo.Length / 1024d))); } else { return(Binding.DoNothing); } }; userControl.Columns.Add(column1); userControl.Columns.Add(column2); return(userControl); }
private UserControl GetDataRepositoryContentUserControl() { DataRepositoryContentUserControl userControl = new DataRepositoryContentUserControl(); string header1 = GisEditor.LanguageManager.GetStringResource("FolderDataRepositoryUserControlTypeText"); DataRepositoryGridColumn column1 = new DataRepositoryGridColumn(header1, 70, di => di.Category); string header2 = "Url"; DataRepositoryGridColumn column2 = new DataRepositoryGridColumn(header2, 100); column2.CellContentConvertHandler = di => { WmsDataRepositoryItem wmsDataRepositoryItem = di as WmsDataRepositoryItem; if (wmsDataRepositoryItem != null) { return(wmsDataRepositoryItem.Url); } else { return(Binding.DoNothing); } }; userControl.Columns.Add(column1); userControl.Columns.Add(column2); return(userControl); }
private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { DataRepositoryItem[] selectedItems = ChildrenList.SelectedItems.OfType <DataRepositoryItem>().ToArray(); if (selectedItems.Length > 1) { DataRepositoryContentViewModel.Current.PlaceOnMapCommand = DataRepositoryHelper.GetPlaceMultipleFilesCommand(selectedItems); } else if (selectedItems.Length == 1) { DataRepositoryItem dataRepositoryItem = selectedItems[0]; if (dataRepositoryItem != null && dataRepositoryItem.ContextMenu != null) { DataRepositoryContentViewModel.Current.ContextMenuStackPanel = DataRepositoryContentUserControl.ConvertContextMenuToButton(dataRepositoryItem.ContextMenu); } if (dataRepositoryItem != null && dataRepositoryItem.IsLoadable) { DataRepositoryContentViewModel.Current.PlaceOnMapCommand = ((MenuItem)selectedItems.First().ContextMenu.Items[0]).Command; } else { DataRepositoryContentViewModel.Current.PlaceOnMapCommand = null; } } }
public PostgreServerDataRepositoryPlugin() : base() { Name = "Postgre Server"; SmallIcon = new BitmapImage(new Uri("/GisEditorPluginCore;component/Images/apacheconf.png", UriKind.RelativeOrAbsolute)); Content = new DataRepositoryContentUserControl(); Index = DataRepositoryOrder.Postgre; InitContextMenu(); }
private void TreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { DataRepositoryContentViewModel.Current.SearchResultVisibility = Visibility.Collapsed; if (e.NewValue != null && (selectedTreeViewItem = e.NewValue as DataRepositoryItem) != null) { FolderDataRepositoryItem folderItem = selectedTreeViewItem as FolderDataRepositoryItem; if (folderItem != null && !Directory.Exists(folderItem.FolderInfo.FullName)) { System.Windows.Forms.MessageBox.Show(string.Format(CultureInfo.InvariantCulture, alertMessage, folderItem.FolderInfo.FullName), "Warning", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning); return; } DataRepositoryContentViewModel.SelectedDataRepositoryItem = selectedTreeViewItem; if (selectedTreeViewItem.ContextMenu != null) { DataRepositoryContentViewModel.Current.ContextMenuStackPanel = DataRepositoryContentUserControl.ConvertContextMenuToButton(selectedTreeViewItem.ContextMenu); } else { DataRepositoryContentViewModel.Current.ContextMenuStackPanel = null; } if (!selectedTreeViewItem.IsLeaf) { var viewModelContainingContent = selectedTreeViewItem.GetRootDataRepositoryItem(); DataRepositoryContentViewModel.Current.CurrentPluginItemViewModel = viewModelContainingContent; if (viewModelContainingContent.ContextMenu != null && viewModelContainingContent.ContextMenu.HasItems) { DataRepositoryContentViewModel.Current.AddDataCommand = ((MenuItem)viewModelContainingContent.ContextMenu.Items[0]).Command; } if (DataRepositoryContentViewModel.Current.CurrentPluginItemViewModel.Content != null) { if (!DataRepositoryContentViewModel.SelectedDataRepositoryItem.Id.Equals("Data Folders", System.StringComparison.InvariantCultureIgnoreCase)) { var sourcePlugin = DataRepositoryContentViewModel.SelectedDataRepositoryItem.GetSourcePlugin(); if (sourcePlugin != null && sourcePlugin.CanRefreshDynamically) { DataRepositoryContentViewModel.SelectedDataRepositoryItem.Refresh(); } } DataRepositoryContentViewModel.Current.CurrentPluginItemViewModel.Content.DataContext = DataRepositoryContentViewModel.SelectedDataRepositoryItem; } } } }
private UserControl GetDataRepositoryContentUserControl() { DataRepositoryContentUserControl userControl = new DataRepositoryContentUserControl(); string header1 = "Record Count"; DataRepositoryGridColumn column1 = new DataRepositoryGridColumn(header1, 100, di => { MsSqlTableDataRepositoryItem msSqlTableDataRepositoryItem = di as MsSqlTableDataRepositoryItem; if (msSqlTableDataRepositoryItem == null) { return(string.Empty); } TextBlock textBlock = new TextBlock(); if (recordCountCache.ContainsKey(msSqlTableDataRepositoryItem.Id)) { textBlock.Text = recordCountCache[msSqlTableDataRepositoryItem.Id]; } else { textBlock.Text = "Loading..."; Task task = Task.Factory.StartNew(() => { string tempTableName = GetFullTableName(msSqlTableDataRepositoryItem); string sqlStatement = "SELECT COUNT(*) FROM " + tempTableName; SqlCommand command = null; SqlDataReader dataReader = null; try { command = GetSqlCommand(sqlStatement, msSqlTableDataRepositoryItem); dataReader = command.ExecuteReader(); string text = ""; if (dataReader.Read()) { text = Convert.ToInt32(dataReader[0], CultureInfo.InvariantCulture).ToString(); recordCountCache[msSqlTableDataRepositoryItem.Id] = text; } Application.Current.Dispatcher.BeginInvoke(() => { textBlock.Text = text; }); } catch (Exception ex) { Application.Current.Dispatcher.BeginInvoke(() => { textBlock.Text = "Timeout"; }); } finally { if (dataReader != null) { dataReader.Dispose(); } if (command != null) { command.Connection.Close(); command.Dispose(); } } }); } return(textBlock); }); userControl.Columns.Add(column1); return(userControl); }