public ApplicationVM() { viewDictionary = new ViewConverter(); View_ViewModel = new Dictionary <string, LinkViewToViewModel>(); NavigationList = new List <IControlItem>(); InitialiseLists(); }
protected override void OnMouseMove(MouseEventArgs e) { if (!_dragging && _mouseDownLocation != Point.Empty && e.Button == MouseButtons.Left) { _mouseRelativeLocation = new Point(e.X - _mouseDownLocation.X, e.Y - _mouseDownLocation.Y); if (!withinDragTolerance(e.Location)) { _dragging = true; _mousePreviousLocation = _mouseDownLocation; } } if (_dragging) { onMoveTo(ViewConverter.Convert(e.Location)); _mousePreviousLocation = e.Location; } else { onHover(ViewConverter.Convert(e.Location)); } base.OnMouseMove(e); }
public void ParseLabel() { ViewConverter converter = ViewConverter.GetInstance(); XmlDocument document = converter.LoadXmlDocument(TEST3); XmlNodeList rootNode = document.GetElementsByTagName("GroupBox"); Assert.AreEqual(1, rootNode.Count); Assert.AreEqual("GroupBox", rootNode[0].Name); GroupBox box = new GroupBox(); converter.ConvertDocument(rootNode[0], box); Assert.AreEqual(1, box.Controls.Count); GroupBox parent = box.Controls[0] as GroupBox; Assert.AreEqual("groupBox1", parent.Text); Assert.AreEqual("groupBox1", parent.Name); Assert.AreEqual(new Size(50, 50), parent.Size); Label label = parent.Controls[0] as Label; Assert.AreEqual("label1", label.Name); Assert.AreEqual("How are you?", label.Text); }
public void ConvertFromXmlRecursivelyTest() { ViewConverter converter = ViewConverter.GetInstance(); XmlDocument document = converter.LoadXmlDocument(TEST2); XmlNodeList formNode = document.GetElementsByTagName("Form"); Assert.AreEqual(1, formNode.Count); Assert.AreEqual("Form", formNode[0].Name); GroupBox box = new GroupBox(); converter.ConvertDocument(formNode[0], box); Assert.AreEqual(1, box.Controls.Count); GroupBox parent = box.Controls[0] as GroupBox; Assert.AreEqual("Hello, World", parent.Text); Assert.AreEqual("Form1", parent.Name); Assert.AreEqual(new Size(100, 100), parent.Size); Assert.AreEqual("groupBox1", box.Controls[0].Controls[0].Name); Assert.AreEqual("groupBox1", box.Controls[0].Controls[0].Text); Assert.AreEqual(new Size(50, 50), box.Controls[0].Controls[0].Size); }
public IEnumerable <WorkerLabel> GetWorkers() { if (UserRank == WorkerView.Rank.Manager) { try { workers.Open(); }catch (RepositoryOpenFailedExceptiom e) { log.Exception(e, "Failed on tring to get all the users."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); } List <WorkerLabel> list = new List <WorkerLabel>(); foreach (var item in workers.GetAll()) { list.Add(ViewConverter.CreateWorkerLabel(item)); } try { workers.Close(); }catch (RepositorySaveFailedExceptiom e) { log.Exception(e, "Failed on tring to get all the users."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); } return(list); } else { throw new UserAccessException("You dont have access to Workes Reposetory."); } }
private void richTextBox1_TextChanged(object sender, EventArgs e) { groupBox1.Controls.Clear(); int pos = richTextBox1.SelectionStart; try { ViewConverter converter = ViewConverter.GetInstance(); XmlDocument document = converter.LoadXmlDocument(richTextBox1.Text); XmlNode rootNode = document.FirstChild; converter.ConvertDocument(rootNode, groupBox1); HashSet <string> names = new HashSet <string>(); converter.GetAllTagsNames(rootNode, names); UpdateRichTextStyle(names.ToArray()); } catch (XmlException xmlException) { UpdateRichTextStyle(null, xmlException.LineNumber); } catch (Exception exception) { //MessageBox.Show(exception.Message); } finally { richTextBox1.SelectionStart = pos; } }
public override IEnumerable <GdiRenderObject> RenderSymbols(IEnumerable <Point2D> locations, Symbol2D symbol, Symbol2D highlightSymbol, Symbol2D selectSymbol, RenderState renderState) { if (renderState == RenderState.Selected) { symbol = selectSymbol; } if (renderState == RenderState.Highlighted) { symbol = highlightSymbol; } foreach (Point2D location in locations) { Bitmap bitmapSymbol = getSymbol(symbol); if (bitmapSymbol.PixelFormat != PixelFormat.Undefined) { System.Drawing.Drawing2D.Matrix transform = ViewConverter.Convert(symbol.AffineTransform); System.Drawing.Imaging.ColorMatrix colorTransform = ViewConverter.Convert(symbol.ColorTransform); RectangleF bounds = new RectangleF(ViewConverter.Convert(location), bitmapSymbol.Size); GdiRenderObject holder = new GdiRenderObject(bitmapSymbol, bounds, transform, colorTransform); holder.State = renderState; yield return(holder); } else { Debug.WriteLine("Unkbown pixel format"); } } }
public void RemoveStorItem(int id) { StoreItem item; if (storeItems.RemoveById(id, out item)) { ItemRemoved?.Invoke(this, ViewConverter.CreateStoreItemView(item)); } }
public IEnumerable <StoreItemControl> GetStoreItems() { List <StoreItemControl> list = new List <StoreItemControl>(); foreach (var item in storeItems.GetAll()) { list.Add(ViewConverter.CreateStoreItemControl(item)); } return(list); }
protected override void OnMouseDown(MouseEventArgs e) { _mouseDownLocation = e.Location; if (e.Button == MouseButtons.Left) // dragging { onBeginAction(ViewConverter.Convert(e.Location)); } base.OnMouseDown(e); }
public void ConvertFromXmlTest() { ViewConverter converter = ViewConverter.GetInstance(); XmlDocument document = converter.LoadXmlDocument(TEST1); XmlNodeList formNode = document.GetElementsByTagName("Form"); Assert.AreEqual(1, formNode.Count); Assert.AreEqual("Hello, World", formNode[0].Attributes["Text"]?.InnerText); Assert.AreEqual("Form1", formNode[0].Attributes["Name"]?.InnerText); Assert.AreEqual(null, formNode[0].Attributes["DoubleBuffered"]?.InnerText); }
private void onRequestZoomToViewBounds(Rectangle2D viewBounds) { EventHandler <MapViewPropertyChangeEventArgs <Rectangle2D> > e = ZoomToViewBoundsRequested; if (e != null) { MapViewPropertyChangeEventArgs <Rectangle2D> args = new MapViewPropertyChangeEventArgs <Rectangle2D>( ViewConverter.Convert(ClientRectangle), viewBounds); e(this, args); } }
public void UpdateWorker(WorkerView updated, WorkerView toUpdate) { if (!IsUserLoggedIn) { throw new UserLoggedInException(); } Worker upTo = ViewConverter.CreateWorker(updated); try { workers.Open(); if (!workers.UpdateWorker(toUpdate.Id, upTo)) { workers.Close(); throw new WorkerUpdateFailedException(); } if (currentUser.Id == toUpdate.Id) { WorkerUpdated?.Invoke(this, ViewConverter.CreateWorkerView(workers.GetById(currentUser.Id))); } workers.Close(); } catch (DAL.Repositorys.PrimeryKeyAllReadyExistException e) { log.Exception(e); throw new util.PrimeryKeyAllReadyExistException(); }catch (RepositoryOpenFailedExceptiom e) { log.Exception(e, "Failed on tring to update a user."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); return; }catch (RepositorySaveFailedExceptiom e) { log.Exception(e, "Failed on tring to update a user."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); return; } catch (Exception e) { log.Exception(e, "Unknown exception, Closing App."); Shutdown(1); return; } finally { workers.Close(); } }
public void GetAllTagsNamesTest() { ViewConverter converter = ViewConverter.GetInstance(); XmlDocument document = converter.LoadXmlDocument(TEST2); XmlNode rootNode = document.FirstChild; HashSet <string> names = new HashSet <string>(); converter.GetAllTagsNames(rootNode, names); Assert.AreEqual(2, names.Count); Assert.IsTrue(names.Contains("Form")); Assert.IsTrue(names.Contains("GroupBox")); }
public IEnumerable <WorkerLabel> GetWorkers(params Predicate <WorkerView>[] predicates) { if (UserRank == WorkerView.Rank.Manager) { try { workers.Open(); } catch (RepositoryOpenFailedExceptiom e) { log.Exception(e, "Failed on tring to get users."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); } List <WorkerLabel> list = new List <WorkerLabel>(); foreach (var item in workers.GetAll()) { var itemView = ViewConverter.CreateWorkerView(item); bool found = false; foreach (var pred in predicates) { if (pred(itemView)) { found = true; break; } } if (found) { list.Add(ViewConverter.CreateWorkerLabel(itemView)); } } try { workers.Close(); } catch (RepositorySaveFailedExceptiom e) { log.Exception(e, "Failed on tring to get all the users."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); } return(list); } else { throw new UserAccessException("You dont have access to Workes Reposetory."); } }
public void AddWorker(WorkerView work, byte[] hashedpass) { if (!IsUserLoggedIn) { throw new UserLoggedInException(); } if (currentUser.WorkerRank != WorkerView.Rank.Manager) { throw new UserAccessException($"{WorkerView.Rank.Manager} Access needed for that action, your Access is {currentUser.WorkerRank}."); } try { workers.Open(); } catch (RepositoryOpenFailedExceptiom e) { log.Exception(e, "Failed on tring to add user."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); } Worker w = ViewConverter.CreateWorker(work); try { w.Password = SHA256.Create().ComputeHash(hashedpass); workers.Add(w); workers.Close(); WorkerAdded?.Invoke(this, work); } catch (DAL.Repositorys.PrimeryKeyAllReadyExistException e) { log.Exception(e); throw new util.PrimeryKeyAllReadyExistException(); }catch (RepositorySaveFailedExceptiom e) { log.Exception(e, "Failed on tring to add user."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); } catch (Exception e) { log.Exception(e); log.Fetal("Fetal Error Closing down app..."); Shutdown(1); } }
public void TestAddStoreItem() { TestLogin(); StoreItemView item = ViewConverter.CreateStoreItemView(book1); try { Logic.Instance.AddStoreItem(item); }catch (PrimeryKeyAllReadyExistException e) { Logger.Exception(e, "Testing add item."); Assert.Fail("Created an item with an all ready taken ISBN"); } }
protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); if (e.Button == MouseButtons.Left) { onEndAction(ViewConverter.Convert(e.Location)); } _mouseDownLocation = Point.Empty; if (_dragging) { _dragging = false; _mouseRelativeLocation = Point.Empty; _mousePreviousLocation = Point.Empty; } }
/// <summary> /// kbd4hire 20090318 Method no longer used! /// </summary> /// <returns></returns> private GdiMatrix getGdiViewTransform() { if (_gdiViewMatrix == null) { _gdiViewMatrix = ToViewTransform == null ? new GdiMatrix() : ViewConverter.Convert(ToViewTransform); return(_gdiViewMatrix); } Matrix2D viewMatrix = ToViewTransform ?? new Matrix2D(); Single[] gdiElements = _gdiViewMatrix.Elements; if (gdiElements[0] != (Single)viewMatrix.M11 || gdiElements[1] != (Single)viewMatrix.M12 || gdiElements[2] != (Single)viewMatrix.M21 || gdiElements[3] != (Single)viewMatrix.M22 || gdiElements[4] != (Single)viewMatrix.OffsetX || gdiElements[5] != (Single)viewMatrix.OffsetY) { Debug.WriteLine( String.Format( "Disposing GDI matrix on values: {0} : {1}; {2} : {3}; {4} : {5}; {6} : {7}; {8} : {9}; {10} : {11}", gdiElements[0], (Single)viewMatrix.M11, gdiElements[1], (Single)viewMatrix.M12, gdiElements[2], (Single)viewMatrix.M21, gdiElements[3], (Single)viewMatrix.M22, gdiElements[4], (Single)viewMatrix.OffsetX, gdiElements[5], (Single)viewMatrix.OffsetY)); _gdiViewMatrix.Dispose(); _gdiViewMatrix = ViewConverter.Convert(ToViewTransform); } return(_gdiViewMatrix); }
public void ConvertFromXmlNestedElementsTest() { ViewConverter converter = ViewConverter.GetInstance(); XmlDocument document = converter.LoadXmlDocument(TEST2); XmlNodeList formNode = document.GetElementsByTagName("Form"); Assert.AreEqual(1, formNode.Count); Assert.AreEqual("Hello, World", formNode[0].Attributes["Text"]?.InnerText); Assert.AreEqual("Form1", formNode[0].Attributes["Name"]?.InnerText); Assert.AreEqual(null, formNode[0].Attributes["DoubleBuffered"]?.InnerText); Assert.AreEqual("Form", formNode[0].Name); XmlNode groupBoxNode = formNode[0].FirstChild; Assert.AreEqual("GroupBox", groupBoxNode.Name); Assert.AreEqual("groupBox1", groupBoxNode.Attributes["Text"]?.InnerText); Assert.AreEqual("groupBox1", groupBoxNode.Attributes["Name"]?.InnerText); }
public void AddStoreItem(StoreItemView item) { if (!IsUserLoggedIn) { throw new UserLoggedInException(); } if (currentUser.WorkerRank != WorkerView.Rank.Manager) { throw new UserAccessException($"{WorkerView.Rank.Manager} Access needed for that action, your Access is {currentUser.WorkerRank}."); } try { if (item is BookView) { storeItems.Add(ViewConverter.CreateBook((BookView)item)); ItemAdded?.Invoke(this, item); } else if (item is JournalView) { storeItems.Add(ViewConverter.CreateJournal((JournalView)item)); ItemAdded?.Invoke(this, item); } storeItems.Save(); } catch (DAL.Repositorys.PrimeryKeyAllReadyExistException e) { log.Exception(e); throw new util.PrimeryKeyAllReadyExistException(); }catch (RepositorySaveFailedExceptiom e) { log.Exception(e, "Failed on tring to add a new item."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); } catch (Exception e) { log.Exception(e); log.Fetal("Fetal Error Closing down app..."); Shutdown(1); } }
public void ConvertLocation() { ViewConverter converter = ViewConverter.GetInstance(); XmlDocument document = converter.LoadXmlDocument(TEST4); XmlNode rootNode = document.FirstChild; Assert.AreEqual("Label", rootNode.Name); GroupBox box = new GroupBox(); converter.ConvertDocument(rootNode, box); Assert.AreEqual(1, box.Controls.Count); Label label = box.Controls[0] as Label; Assert.AreEqual("Привет", label.Text); Assert.AreEqual("label1", label.Name); Assert.AreEqual(new Point(20, 20), label.Location); Assert.AreEqual(new Size(50, 50), label.Size); }
public void RemoveWorker(int id) { if (!IsUserLoggedIn) { throw new UserLoggedInException(); } if (currentUser.WorkerRank != WorkerView.Rank.Manager) { throw new UserAccessException($"{WorkerView.Rank.Manager} Access needed for that action, your Access is {currentUser.WorkerRank}."); } Worker worker; try { workers.Open(); }catch (RepositoryOpenFailedExceptiom e) { log.Exception(e, "Failed on tring to update a user."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); } if (workers.RemoveById(id, out worker)) { try { workers.Close(); } catch (RepositorySaveFailedExceptiom e) { log.Exception(e, "Failed on tring to get user."); log.Fetal("Fetal Error, App shuting down."); Shutdown(1); } WorkerRemoved?.Invoke(this, ViewConverter.CreateWorkerView(worker)); } }
public IEnumerable <StoreItemControl> GetStoreItems(params Predicate <StoreItemView>[] predicates) { List <StoreItemControl> list = new List <StoreItemControl>(); foreach (var item in storeItems.GetAll()) { var itemView = ViewConverter.CreateStoreItemView(item); bool fined = true; foreach (var pred in predicates) { if (!pred(itemView)) { fined = false; break; } } if (fined) { list.Add(ViewConverter.CreateStoreItemControl(item)); } } return(list); }
public Image Render(WebMapView mapView, out string mimeType) { Bitmap bmp = new Bitmap(Width, Height, PixelFormat); Graphics g = Graphics.FromImage(bmp); g.SmoothingMode = SmoothingMode.AntiAlias; //g.Transform = GetGdiViewTransform(); if (!MapView.Presenter.IsRenderingSelection) { g.Clear(ViewConverter.Convert(MapView.BackgroundColor)); } while (_renderQ.Count > 0) { RenderObject(_renderQ.Dequeue(), g); } g.Dispose(); mimeType = "image/bmp"; return(bmp); }
private static Stream RandomIcon(out Size2D sz) { sz = RandomSymbolSize(); Bitmap b = new Bitmap((int)sz.Width, (int)sz.Height); Graphics g = Graphics.FromImage(b); g.Clear(Color.Transparent); int rnd = random.Next(6); switch (rnd) { case 0: { StylePen p = RandomPen(); g.DrawEllipse(ViewConverter.Convert(p), (int)Math.Ceiling(p.Width / 2), (int)Math.Ceiling(p.Width / 2), b.Width - (int)p.Width, b.Height - (int)p.Width); break; } case 1: { g.FillEllipse(ViewConverter.Convert(RandomBrush()), 0, 0, b.Width, b.Height); break; } case 2: { StylePen p = RandomPen(); g.DrawRectangle(ViewConverter.Convert(p), (int)Math.Ceiling(p.Width / 2), (int)Math.Ceiling(p.Width / 2), b.Width - (int)p.Width, b.Height - (int)p.Width); break; } case 3: g.FillRectangle(ViewConverter.Convert(RandomBrush()), 0, 0, b.Width, b.Height); break; case 4: { StylePen p = RandomPen(); g.FillEllipse(ViewConverter.Convert(RandomBrush()), 0, 0, b.Width, b.Height); g.DrawEllipse(ViewConverter.Convert(p), (int)Math.Ceiling(p.Width / 2), (int)Math.Ceiling(p.Width / 2), b.Width - (int)p.Width, b.Height - (int)p.Width); break; } case 5: { StylePen p = RandomPen(); g.FillRectangle(ViewConverter.Convert(RandomBrush()), 0, 0, b.Width, b.Height); g.DrawRectangle(ViewConverter.Convert(p), (int)Math.Ceiling(p.Width / 2), (int)Math.Ceiling(p.Width / 2), b.Width - (int)p.Width, b.Height - (int)p.Width); break; } } MemoryStream ms = new MemoryStream(); b.Save(ms, ImageFormat.Png); return(ms); }
public virtual WmsMapRequestConfig CreateConfig(HttpContext context) { WmsMapRequestConfig config = new WmsMapRequestConfig(); config.ServiceDescription = Description; config.CacheKey = CreateCacheKey(context); bool ignorecase = true; if (context.Request.Params["REQUEST"] == null) { WmsException.ThrowWmsException("Required parameter REQUEST not specified"); } //Check if version is supported if (context.Request.Params["VERSION"] != null) { if (String.Compare(context.Request.Params["VERSION"], "1.3.0", ignorecase) != 0) { WmsException.ThrowWmsException("Only version 1.3.0 supported"); } } else //Version is mandatory if REQUEST!=GetCapabilities. Check if this is a capabilities request, since VERSION is null { if (String.Compare(context.Request.Params["REQUEST"], "GetCapabilities", ignorecase) != 0) { WmsException.ThrowWmsException("VERSION parameter not supplied"); } } if (String.Compare(context.Request.Params["REQUEST"], "GetCapabilities", ignorecase) == 0) { //Service parameter is mandatory for GetCapabilities request if (context.Request.Params["SERVICE"] == null) { WmsException.ThrowWmsException("Required parameter SERVICE not specified"); } if (String.Compare(context.Request.Params["SERVICE"], "WMS") != 0) { WmsException.ThrowWmsException( "Invalid service for GetCapabilities Request. Service parameter must be 'WMS'"); } config.WmsMode = WmsMode.Capabilites; config.MimeType = "text/xml"; return(config); } if (String.Compare(context.Request.Params["REQUEST"], "GetMap", ignorecase) != 0) { WmsException.ThrowWmsException("Invalid REQUEST parameter"); } config.WmsMode = WmsMode.Map; //Check for required parameters if (context.Request.Params["LAYERS"] == null) { WmsException.ThrowWmsException("Required parameter LAYERS not specified"); } config.EnabledLayerNames = new List <string>(context.Request.Params["LAYERS"].Split(',')); if (context.Request.Params["STYLES"] == null) { WmsException.ThrowWmsException("Required parameter STYLES not specified"); } if (context.Request.Params["CRS"] == null) { WmsException.ThrowWmsException("Required parameter CRS not specified"); } config.Crs = context.Request.Params["CRS"]; config.BaseSrid = config.Crs; if (context.Request.Params["BBOX"] == null) { WmsException.ThrowWmsException(WmsExceptionCode.InvalidDimensionValue, "Required parameter BBOX not specified"); } if (context.Request.Params["WIDTH"] == null) { WmsException.ThrowWmsException(WmsExceptionCode.InvalidDimensionValue, "Required parameter WIDTH not specified"); } if (context.Request.Params["HEIGHT"] == null) { WmsException.ThrowWmsException(WmsExceptionCode.InvalidDimensionValue, "Required parameter HEIGHT not specified"); } if (context.Request.Params["FORMAT"] == null) { WmsException.ThrowWmsException("Required parameter FORMAT not specified"); } Color bkgnd = Color.White; //Set background color of map if (String.Compare(context.Request.Params["TRANSPARENT"], "TRUE", ignorecase) == 0) { bkgnd = Color.Transparent; } else if (context.Request.Params["BGCOLOR"] != null) { try { bkgnd = ColorTranslator.FromHtml(context.Request.Params["BGCOLOR"]); } catch { WmsException.ThrowWmsException("Invalid parameter BGCOLOR"); } ; } config.BackgroundColor = ViewConverter.Convert(bkgnd); config.MimeType = context.Request.Params["FORMAT"]; //Parse map size int width = 0; int height = 0; if (!int.TryParse(context.Request.Params["WIDTH"], out width)) { WmsException.ThrowWmsException(WmsExceptionCode.InvalidDimensionValue, "Invalid parameter WIDTH"); } else if (Description.MaxWidth > 0 && width > Description.MaxWidth) { WmsException.ThrowWmsException(WmsExceptionCode.OperationNotSupported, "Parameter WIDTH too large"); } if (!int.TryParse(context.Request.Params["HEIGHT"], out height)) { WmsException.ThrowWmsException(WmsExceptionCode.InvalidDimensionValue, "Invalid parameter HEIGHT"); } else if (Description.MaxHeight > 0 && height > Description.MaxHeight) { WmsException.ThrowWmsException(WmsExceptionCode.OperationNotSupported, "Parameter HEIGHT too large"); } config.OutputSize = new Size2D(width, height); if (context.Request.Params["BBOX"] == null) { WmsException.ThrowWmsException("Invalid parameter BBOX"); } config.RealWorldBounds = UrlUtility.ParseExtents(new GeometryServices()[config.Crs], context.Request.Params["BBOX"]); return(config); }
protected override void SetViewBackgroundColor(StyleColor fromColor, StyleColor toColor) { ViewControl.BackColor = ViewConverter.Convert(toColor); }
public UserLoggedInEventArgs(Worker work) { Worker = ViewConverter.CreateWorkerView(work); IsManager = (Worker.WorkerRank == ViewModel.Models.WorkerView.Rank.Manager); LoggedInTime = DateTime.Now; }
protected override void OnBackColorChanged(EventArgs e) { base.OnBackColorChanged(e); BackgroundColor = ViewConverter.Convert(BackColor); }