void border_Drop(object sender, DragEventArgs e) { e.Handled = true; if (e.Data.GetData("System.Windows.Controls.ListBoxItem") is ListBoxItem) //Drag and drop toolboxitem { ListBoxItem lbi = (ListBoxItem)e.Data.GetData("System.Windows.Controls.ListBoxItem"); if (lbi.DataContext is ToolboxItem) { HandleToolboxItemDrop(sender, e); } else if (lbi.DataContext is ToolboxGroup) { ToolboxGroup tbg = (ToolboxGroup)lbi.DataContext; if (GroupTypeOrderCollection.Any(x => x.Group.GroupTypeID.Equals(tbg.Group.GroupTypeID))) { MessageBox.Show("The group already exists", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } else { HandleToolboxGroupDrop(tbg); } } } if (e.Data.GetData("System.Windows.Controls.Border") is Border) //Drag and drop between items { HandleItemTypeDrop(sender, e); } if (e.Data.GetData("System.Windows.Controls.Grid") is Grid) //Drag and drop groups { HandleGroupTableDrop(sender, e); } PreviousGroupTypeOrder = null; }
private bool ItemFilter(object item) { ToolboxGroup tbGroup = item as ToolboxGroup; string header = tbGroup.Group.GroupHeader; return(header.ToLower().Contains(filterString.ToLower())); //Case-insensitive }
public void DropToolboxGroupOnGroup() { glvm.PopulateGTList(); List <ToolboxGroup> tbgList = glvm.DesignItemsView.Cast <ToolboxGroup>().ToList(); ToolboxGroup tbg = tbgList.Find(x => x.Group.GroupTypeID.Equals("16")); ObservableCollection <GroupTypeOrder> gtoList = wvm.PageList[14].GroupTypeOrders; // page 15 ObservableCollection <GroupTypeOrder> unmodifiedgtoList = DeepCopyGroupTypeOrderList(gtoList); GroupTypeOrder targetGroupTypeOrder = gtoList[2]; gtvm.Group = targetGroupTypeOrder.Group; gtvm.GroupTypeOrderCollection = gtoList; gtvm.AdjustGroupOrder(); gtvm.InsertGroup(targetGroupTypeOrder, tbg.Group); int targetIndex = gtoList.IndexOf(targetGroupTypeOrder); Assert.AreEqual(targetIndex, 3); int i = targetIndex + 1; while (i < unmodifiedgtoList.Count) { Assert.AreEqual(unmodifiedgtoList[i].Group, gtoList[i - 1].Group); Assert.AreEqual(unmodifiedgtoList[i].GroupOrder + 1, gtoList[i - 1].GroupOrder); i++; } }
void HandleToolboxGroupDrop(ToolboxGroup tbg) { GroupTypeOrder targetGroupTypeOrder = MyGroupTypeOrder; GroupType draggedGroupType = tbg.Group; GTViewModel.InsertGroup(targetGroupTypeOrder, draggedGroupType); }
private void RemoveTemplateTool(HeliosTemplate template) { if (_toolboxGroups.ContainsKey(template.Category)) { ToolboxGroup group = _toolboxGroups[template.Category]; if (group != null) { ToolboxItem removeItem = null; foreach (ToolboxItem item in group) { TemplateToolboxItem templateItem = item as TemplateToolboxItem; if (templateItem != null) { if (templateItem.Template.Equals(template)) { removeItem = item; break; } } } if (removeItem != null) { group.Remove(removeItem); } } } }
public MainForm() { InitializeComponent(); Text += Assembly.GetExecutingAssembly().GetName().Version.ToString(2); stickToolBoxToggle = false; var allControlsGroup = new ToolboxGroup("All Controls"); allControlsGroup.Items.Add(new ToolboxItem("Button", 0, ControlType.Button)); allControlsGroup.Items.Add(new ToolboxItem("CheckBox", 1, ControlType.CheckBox)); allControlsGroup.Items.Add(new ToolboxItem("ColorBar", 2, ControlType.ColorBar)); allControlsGroup.Items.Add(new ToolboxItem("ColorPicker", 3, ControlType.ColorPicker)); allControlsGroup.Items.Add(new ToolboxItem("ComboBox", 4, ControlType.ComboBox)); allControlsGroup.Items.Add(new ToolboxItem("GroupBox", 5, ControlType.GroupBox)); allControlsGroup.Items.Add(new ToolboxItem("HotkeyControl", 14, ControlType.HotkeyControl)); allControlsGroup.Items.Add(new ToolboxItem("Label", 6, ControlType.Label)); allControlsGroup.Items.Add(new ToolboxItem("LinkLabel", 7, ControlType.LinkLabel)); allControlsGroup.Items.Add(new ToolboxItem("ListBox", 8, ControlType.ListBox)); allControlsGroup.Items.Add(new ToolboxItem("Panel", 9, ControlType.Panel)); allControlsGroup.Items.Add(new ToolboxItem("PictureBox", 10, ControlType.PictureBox)); allControlsGroup.Items.Add(new ToolboxItem("ProgressBar", 11, ControlType.ProgressBar)); allControlsGroup.Items.Add(new ToolboxItem("RadioButton", 12, ControlType.RadioButton)); allControlsGroup.Items.Add(new ToolboxItem("TabControl", 13, ControlType.TabControl)); allControlsGroup.Items.Add(new ToolboxItem("TextBox", 14, ControlType.TextBox)); allControlsGroup.Items.Add(new ToolboxItem("Timer", 15, ControlType.Timer)); allControlsGroup.Items.Add(new ToolboxItem("TrackBar", 16, ControlType.TrackBar)); allControlsGroup.Expanded = true; controlToolbox.Groups.Add(allControlsGroup.Caption, allControlsGroup); controlToolbox.MouseLeave += new DelayedEventHandler(300, delegate { if (!stickToolBoxToggle) { controlToolbox.Visible = false; } }).OnDelay; canvasPictureBox.AllowDrop = true; Renderer = Graphics.FromHwnd(Handle); Renderer.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; form = new GuiControls.Form(new Point(6, 6)); form.Text = form.Name = "Form1"; form.DragEnd += control_DragEnd; AddControlToList(form); var category = controlPropertyGrid.SelectedGridItem; while (category.Parent != null) { category = category.Parent; } category.GridItems["Events"].Expanded = false; }
public void DropToolBoxGroupOnPageByDropZone() { glvm.PopulateGTList(); List <ToolboxGroup> tbgList = glvm.DesignItemsView.Cast <ToolboxGroup>().ToList(); ToolboxGroup tbg = tbgList.Find(x => x.Group.GroupTypeID.Equals("16")); ObservableCollection <GroupTypeOrder> gtoList = wvm.PageList[14].GroupTypeOrders; // page 15 gtvm.GroupTypeOrderCollection = gtoList; gtvm.AdjustGroupOrder(); GroupType gt = tbg.Group; gtvm.InsertGroupLast(gt, "15"); Assert.AreEqual(gtoList.Last().Group, tbg.Group); Assert.AreEqual(gtoList.Last().GroupOrder, gtoList.Count); }
private void AddTool(ToolboxItem tool) { ToolboxGroup group; if (_toolboxGroups.ContainsKey(tool.Category)) { group = _toolboxGroups[tool.Category]; } else { group = new ToolboxGroup(tool.Category); group.DragAdvisor = new ToolboxDragAdvisor(); _toolboxGroups.Add(group); } group.Add(tool); }
/* * Dev皮肤名称: * DevExpress Style * DevExpress Dark Style * Metropolis * VS2010 * Seven Classic * Office 2010 Blue * Office 2010 Black * Office 2010 Silver * Coffee * Liquid Sky * London Liquid Sky * Glass Oceans * Stardust * Xmas 2008 Blue * Valentine * McSkin * Summer 2008 * Pumpkin * Dark Side * Springtime * Foggy * High Contrast * Seven * Sharp * Sharp Plus * The Asphalt World * Whiteprint * Caramel * Money Twins * Lilian * iMaginary * Black * Office 2007 Blue * Office 2007 Black * Office 2007 Silver * Office 2007 Green * Office 2007 Pink * Blue * Darkroom * Blueprint */ private void Form1_Load(object sender, EventArgs e) { StreamReader sr = new StreamReader(@"\Menu.ini"); ToolboxGroup toolboxGroup = new ToolboxGroup(); int i = toolboxGroup.Items.Count; while (sr.Peek() >= 0) { string ID = sr.ReadLine(); ToolboxItem menuitem = new ToolboxItem(); menuitem.Caption = ID; toolboxGroup.Items.Add(menuitem); menuitem.Tag = ID; i++; } toolboxControl1.Groups.Add(toolboxGroup); sr.Close(); }
public DragAdornerToolboxItem(UIElement adornedElement, Point offset) : base(adornedElement) { _offset = offset; ListBoxItem lbi = (ListBoxItem)adornedElement; if (lbi.DataContext is ToolboxItem) { ToolboxItem tbi = (ToolboxItem)lbi.DataContext; Text = tbi.ItemType.Header; } else if (lbi.DataContext is ToolboxGroup) { ToolboxGroup tbi = (ToolboxGroup)lbi.DataContext; Text = tbi.Group.GroupHeader; } IsHitTestVisible = false; }
void CheckToolboxItemDrop(object sender, DragEventArgs e) { Border bCell = GetBorderByDropEvent(e); ListBoxItem lbi = e.Data.GetData("System.Windows.Controls.ListBoxItem") as ListBoxItem; if (lbi.Content is ToolboxItem) { ToolboxItem tbi = (ToolboxItem)lbi.Content; if (!(bCell.DataContext is GroupTypeOrder)) { int row = Grid.GetRow(bCell); bool containsRow = CheckForNewLineItem(row); if (tbi.ItemType.DesignID.Equals("198") && containsRow) { e.Effects = DragDropEffects.None; } else { e.Effects = DragDropEffects.Copy; } } else { e.Effects = DragDropEffects.None; } } else if (lbi.Content is ToolboxGroup) { ToolboxGroup tbg = (ToolboxGroup)lbi.Content; if (bCell.DataContext is GroupTypeOrder) { e.Effects = DragDropEffects.Copy; } else { e.Effects = DragDropEffects.None; } } }
public void ToolboxGroupsFilterList() { GroupType gt = new GroupType(); gt.DanishTranslationText = "Øre, næse og hals"; gt.EnglishTranslationText = "Ear, nose and throat"; gt.GroupTypeID = "10"; gt.ItemOrder = null; gt.LanguageID = "2"; gt.ResourceID = ""; gt.ResourceType = null; gt.ResourceTypeID = null; ToolboxGroup tbGroup = new ToolboxGroup(); tbGroup.Group = gt; GroupType gt2 = new GroupType(); gt2.DanishTranslationText = "Risikofaktorer for infektion"; gt2.EnglishTranslationText = "Risk Factors for infection"; gt2.GroupTypeID = "10"; gt2.ItemOrder = null; gt2.LanguageID = "2"; gt2.ResourceID = ""; gt2.ResourceType = null; gt2.ResourceTypeID = null; ToolboxGroup tbGroup2 = new ToolboxGroup(); tbGroup2.Group = gt2; glvm.GTList.Add(tbGroup); glvm.GTList.Add(tbGroup2); glvm.LanguageID = "1"; glvm.SetupToolBoxItemCollectionView(); glvm.FilterString = "Risk Factors"; //ifvm.DesignItemsView = CollectionViewSource.GetDefaultView(ifvm.ToolboxItemList); Assert.IsTrue(glvm.DesignItemsView.Contains(tbGroup2)); Assert.IsFalse(glvm.DesignItemsView.Contains(tbGroup)); }
private void dropZoneToolboxGroup_Drop(object sender, DragEventArgs e) { ListBoxItem lbi = (ListBoxItem)e.Data.GetData("System.Windows.Controls.ListBoxItem"); ToolboxGroup tbg = (ToolboxGroup)lbi.DataContext; WorkspaceViewModel wvm = WorkspaceViewModel.Instance; string pageTypeID = wvm.SelectedPage; ObservableCollection <PageType> pageList = wvm.PageList; ObservableCollection <GroupTypeOrder> GroupTypeOrderCollection = pageList.First(x => x.PageTypeID.Equals(pageTypeID)).GroupTypeOrders; if (GroupTypeOrderCollection.Any(x => x.Group.GroupTypeID.Equals(tbg.Group.GroupTypeID))) { MessageBox.Show("The group already exists", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } else { GroupType gt = tbg.Group; GroupTableViewModel gtvm = new GroupTableViewModel(); gtvm.GroupTypeOrderCollection = GroupTypeOrderCollection; gtvm.InsertGroupLast(gt, pageTypeID); } }
///// <summary> ///// Creates a new group on a the page ///// </summary> ///// <param name="pageTypeId">The id for the selected page</param> ///// <param name="languageId">The selected language of the application</param> ///// <param name="groupOrder">The group order number on the selected page</param> ///// <param name="englishTranslationText">The english group name</param> ///// <param name="danishTranslationText">The danish group name</param> //public void CreateGroup(string pageTypeId, string languageId, double groupOrder, string englishTranslationText, string danishTranslationText) //{ // GroupTypeOrder gtOrder = new GroupTypeOrder(); // GroupType groupType = new GroupType(); // //Create new GroupTypeOrder // gtOrder.DepartmentID = "-1"; // gtOrder.PageTypeID = pageTypeId; // int highestId = 0; // foreach (PageType page in PageList) // { // int index = 0; // while (index < page.GroupTypeOrders.Count) // { // if (Convert.ToInt32(page.GroupTypeOrders[index].GroupTypeID) > highestId) // { // highestId = Convert.ToInt32(page.GroupTypeOrders[index].GroupTypeID); // } // index++; // } // } // gtOrder.GroupTypeID = (highestId + 1).ToString(); // gtOrder.GroupOrder = groupOrder; // //Create new GroupType // groupType.GroupTypeID = (highestId + 1).ToString(); // groupType.DanishTranslationText = danishTranslationText; // groupType.EnglishTranslationText = englishTranslationText; // groupType.LanguageID = languageId; // string hej = englishTranslationText.Replace(" ", string.Empty); // int i = 1; // foreach (PageType page in PageList) // { // while ((from a in page.GroupTypeOrders where a.Group.ResourceType.Equals(hej + i) select a).Any()) // { // i++; // } // } // hej = hej + i; // groupType.ResourceType = hej; // groupType.ResourceID = (_groupCounter + 1).ToString(); // _groupCounter++; // groupType.ResourceTypeID = "1"; // //Reference GroupTypeOrder with GroupType // gtOrder.Group = groupType; // int hello = 0; // while (hello < PageList.Count) // { // if (PageList[hello].PageTypeID.Equals(pageTypeId)) // { // PageList[hello].GroupTypeOrders.Add(gtOrder); // } // hello++; // } //} /// <summary> /// Creates a new group on a the page /// </summary> /// <param name="pageTypeId">The id for the selected page</param> /// <param name="englishTranslationText">The english group name</param> /// <param name="danishTranslationText">The danish group name</param> /// <param name="departmentList">The selected departments the group is in</param> public void CreateGroup(string pageTypeId, string englishTranslationText, string danishTranslationText, List <string> departmentList) { GroupType groupType = new GroupType(); //Create new GroupTypeOrder int highestId = 0; foreach (PageType page in PageList) { int highestIdOnPage = Convert.ToInt32(page.GroupTypeOrders.Max(x => x.GroupTypeID)); if (highestIdOnPage > highestId) { highestId = highestIdOnPage; } //int index = 0; //while (index < page.GroupTypeOrders.Count) //{ // if (Convert.ToInt32(page.GroupTypeOrders[index].GroupTypeID) > highestId) // { // highestId = Convert.ToInt32(page.GroupTypeOrders[index].GroupTypeID); // } // index++; //} } ObservableCollection <GroupTypeOrder> groupTypeOrderCollection = PageList.First(x => x.PageTypeID.Equals(pageTypeId)).GroupTypeOrders; GroupTypeOrder gtoCompare = groupTypeOrderCollection.Last(); //Create new GroupType groupType.GroupTypeID = (highestId + 1).ToString(); groupType.DanishTranslationText = danishTranslationText; groupType.EnglishTranslationText = englishTranslationText; groupType.LanguageID = gtoCompare.Group.LanguageID; string hej = englishTranslationText.Replace(" ", string.Empty); int i = 1; foreach (PageType page in PageList) { while ((from a in page.GroupTypeOrders where a.Group.ResourceType.Equals(hej + i) select a).Any()) { i++; } } hej = hej + i; groupType.ResourceType = hej; groupType.ResourceID = (_groupCounter + 1).ToString(); _groupCounter++; groupType.ResourceTypeID = "1"; //Reference GroupTypeOrder with GroupType ToolboxGroupsViewModel glvm = ToolboxGroupsViewModel.Instance; ToolboxGroup tbg = new ToolboxGroup(); tbg.Group = groupType; glvm.GTList.Add(tbg); //int hello = 0; //while (hello < PageList.Count) //{ // if (PageList[hello].PageTypeID.Equals(pageTypeId)) // { // PageList[hello].GroupTypeOrders.Add(gtOrder); // } // hello++; //} foreach (string departmentID in departmentList) { GroupTypeOrder clonedGto = new GroupTypeOrder(); clonedGto.DepartmentID = departmentID; clonedGto.Group = groupType; //clonedGto.GroupOrder = gtoCompare.GroupOrder + 1; clonedGto.GroupOrder = groupTypeOrderCollection.Max(x => x.GroupOrder) + 1; clonedGto.GroupTypeID = (highestId + 1).ToString(); clonedGto.PageTypeID = pageTypeId; groupTypeOrderCollection.Add(clonedGto); } }
private void GroupMouseDown(ToolboxGroup group) { if(group==null) { return; } group.Expanded=!group.Expanded; if(group.Expanded) { this.AutoScrollMinSize=new Size(this.Width-30, this.AutoScrollMinSize.Height+group.ItemHeight); } else { this.AutoScrollMinSize=new Size(this.Width-30, this.AutoScrollMinSize.Height-group.ItemHeight); } Invalidate(this.ClientRectangle); }
private void PaintGroup(Graphics graphics, ToolboxGroup group, SolidBrush backgroundBrush, ref int offset) { group.Top=offset; offset+=19; SolidBrush groupBrush=new SolidBrush(_groupColor); Rectangle groupRect=new Rectangle(1, group.Top, this.Width-1, 18); graphics.FillRectangle(groupBrush, groupRect); groupBrush.Dispose(); Pen backgroundPen=new Pen(backgroundBrush); int lineLocation=group.Top+16; graphics.DrawLine(backgroundPen, 1, lineLocation, this.Width-1, lineLocation); backgroundPen.Dispose(); graphics.DrawString(group.Caption, this.Font, Brushes.Black, new RectangleF(20, group.Top+2, this.Width-30, group.Top+13)); if(group.Expanded) { graphics.DrawImage(Properties.Resources.Minus, new Point(6, group.Top+4)); foreach(ToolboxItem item in group.Items) { PaintItem(graphics, item, backgroundBrush, ref offset); } } else { graphics.DrawImage(Properties.Resources.Plus, new Point(6, group.Top+4)); foreach(ToolboxItem item in group.Items) { item.Top=-1; } } }
public void PopulateGTList() { WorkspaceViewModel wvm = WorkspaceViewModel.Instance; List <string> checkList = new List <string>(); List <string> blackList = new List <string>(); //Blacklist the following pages: 3, 18, 19, 255, 100 //foreach (PageType pt in wvm.PageList) //{ // if ( // pt.PageTypeID.Equals("3") || // pt.PageTypeID.Equals("18") || // pt.PageTypeID.Equals("19") || // pt.PageTypeID.Equals("255") || // pt.PageTypeID.Equals("100") // ) // { // foreach (GroupTypeOrder gto in pt.GroupTypeOrders) // { // blackList.Add(gto.GroupTypeID); // } // } //} //foreach (PageType pt in wvm.PageList) //{ // foreach (GroupTypeOrder gto in pt.GroupTypeOrders) // { // if (!gto.GroupTypeID.Equals("60") && !gto.GroupTypeID.Equals("58") && !blackList.Exists(x => x.Equals(gto.GroupTypeID)) && !checkList.Exists(x => x.Equals(gto.GroupTypeID))) // { // ToolboxGroup tbGroup = new ToolboxGroup(); // tbGroup.Group = gto.Group; // GTList.Add(tbGroup); // //GTList.Add(gto.Group); // checkList.Add(gto.GroupTypeID); // } // } //} foreach (PageType pt in wvm.PageList) { // Blacklisted pages: 3, 18, 19, 255, 100 if ( !pt.PageTypeID.Equals("3") && !pt.PageTypeID.Equals("18") && !pt.PageTypeID.Equals("19") && !pt.PageTypeID.Equals("255") && !pt.PageTypeID.Equals("100") ) { foreach (GroupTypeOrder gto in pt.GroupTypeOrders) { if (!gto.GroupTypeID.Equals("60") && !gto.GroupTypeID.Equals("58")) { int i = 0; bool alreadyExist = false; while (i < checkList.Count && !alreadyExist) { if (checkList[i].Equals(gto.GroupTypeID)) { alreadyExist = true; } i++; } if (!alreadyExist) { ToolboxGroup tbGroup = new ToolboxGroup(); tbGroup.Group = gto.Group; GTList.Add(tbGroup); //GTList.Add(gto.Group); checkList.Add(gto.GroupTypeID); } } } } } SetupToolBoxItemCollectionView(); }