public void Panel_PreferredSize_GetWithChildrenAdvanced_ReturnsExpected() { using var control = new BorderedPanel { Padding = new Padding(1, 2, 3, 4) }; using var child = new Control { Size = new Size(16, 20) }; control.Controls.Add(child); Assert.Equal(new Size(26, 31), control.PreferredSize); }
private void CreateDisassemblyView() { // Create the new list view with a reference to the disassembled lines. This is super important, see DisassemblyListView. ListViewDisassembly = new DisassemblyListView(DisassemblerInstance.ParsedLines, new Size(620, 382)) { Location = new Point(0, 0), BackColor = LayerBrush.Color, }; // When addresses are clicked, toggle them as breakpoints. ListViewDisassembly.OnAddressClicked += VMInstance.ToggleBreakpoint; // DisassemblyPadding is a necessary aethetic component of the DisassemblyListView. There is a scrollbar "feature" buried // into liewviews that doesn't fit into the program(especially with the dark theme it currently has) at all and looks // very out of place, which furthermore cannot be disabled without disabling scrolling entirely, which would // be even worse on a listview that is expected to hold all of the disassembly for a program. My workaround is to create // a padding that overlaps the scrollbar, therefore gives the best of both worlds as the listview is still scrollable. DisassemblyPadding = new Panel() { // Slightly smaller and offset from the listview to prevent overlapping the border. Location = new Point(ListViewDisassembly.Location.X + 15, ListViewDisassembly.Location.Y + 15), Size = new Size(583, 382) }; // Create a nice border around the control. DisassemblyBorder = new BorderedPanel() { BackColor = LayerBrush.Color, Location = Dock_LeftTop, Size = new Size(600, 400), Tag = "Disassembly" }; // Add the controls to the form. To ensure the controls are visible, the list view has to be a member // of the padding panel otherwise the panel with overlap it. DisassemblyPadding.Controls.Add(ListViewDisassembly); DisassemblyBorder.Controls.Add(DisassemblyPadding); Controls.Add(DisassemblyBorder); }
private void CreateMemView() { PanelMemory = new BorderedPanel { Location = Dock_LeftBot, AutoSize = false, // For an unknown reason, the panel will resize slightly more than this value. It seems to become the size of the child control // plus an extra constant. This happens regardless of $AutoSize. Size = new Size(0x1a0, 383), Tag = "Memory" }; MemoryViewer = new MemoryListView(new Size(0x1d8, 383)) { // This position is relative to the panel. A small offset makes sure that the // text and border will not be clipped over. Location = new Point(3, 16), }; PanelMemory.Controls.Add(MemoryViewer); Controls.Add(PanelMemory); }
private static void scalePanelIcon(BorderedPanel panel) { panel.ScaleDpi(); panel.BackgroundImage = ((Bitmap)panel.BackgroundImage).HalfResizeDpi(); }
internal override void RenderBeginList(System.Web.UI.HtmlTextWriter output) { BorderedPanel panel = new BorderedPanel(); panel.Page = fileView.Page; if (fileView.DetailsColumnHeaderStyle.HorizontalAlign == HorizontalAlign.NotSet) { fileView.DetailsColumnHeaderStyle.HorizontalAlign = fileView.Controller.CurrentUICulture.TextInfo.IsRightToLeft ? HorizontalAlign.Right : HorizontalAlign.Left; } panel.ControlStyle.CopyFrom(fileView.DetailsColumnHeaderStyle); output.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0"); output.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); output.AddAttribute(HtmlTextWriterAttribute.Border, "0"); output.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); output.RenderBeginTag(HtmlTextWriterTag.Table); output.RenderBeginTag(HtmlTextWriterTag.Thead); output.RenderBeginTag(HtmlTextWriterTag.Tr); output.RenderBeginTag(HtmlTextWriterTag.Th); output.AddAttribute(HtmlTextWriterAttribute.Onclick, fileView.GetSortEventReference(SortMode.Name)); output.AddStyleAttribute(HtmlTextWriterStyle.Cursor, "default"); output.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap"); output.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); output.AddAttribute(HtmlTextWriterAttribute.Id, fileView.ClientID + "_Thead_Name"); panel.RenderBeginTag(output); output.Write(HttpUtility.HtmlEncode(controller.GetResourceString("Name", "Name"))); panel.RenderEndTag(output); output.RenderEndTag(); output.RenderBeginTag(HtmlTextWriterTag.Th); output.AddAttribute(HtmlTextWriterAttribute.Onclick, fileView.GetSortEventReference(SortMode.Size)); output.AddStyleAttribute(HtmlTextWriterStyle.Cursor, "default"); output.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap"); output.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); output.AddAttribute(HtmlTextWriterAttribute.Id, fileView.ClientID + "_Thead_Size"); panel.RenderBeginTag(output); output.Write(HttpUtility.HtmlEncode(controller.GetResourceString("Size", "Size"))); panel.RenderEndTag(output); output.RenderEndTag(); output.RenderBeginTag(HtmlTextWriterTag.Th); output.AddAttribute(HtmlTextWriterAttribute.Onclick, fileView.GetSortEventReference(SortMode.Type)); output.AddStyleAttribute(HtmlTextWriterStyle.Cursor, "default"); output.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap"); output.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); output.AddAttribute(HtmlTextWriterAttribute.Id, fileView.ClientID + "_Thead_Type"); panel.RenderBeginTag(output); output.Write(HttpUtility.HtmlEncode(controller.GetResourceString("Type", "Type"))); panel.RenderEndTag(output); output.RenderEndTag(); output.RenderBeginTag(HtmlTextWriterTag.Th); output.AddAttribute(HtmlTextWriterAttribute.Onclick, fileView.GetSortEventReference(SortMode.Modified)); output.AddStyleAttribute(HtmlTextWriterStyle.Cursor, "default"); output.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap"); output.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); output.AddAttribute(HtmlTextWriterAttribute.Id, fileView.ClientID + "_Thead_Modified"); panel.RenderBeginTag(output); output.Write(HttpUtility.HtmlEncode(controller.GetResourceString("Date_Modified", "Date Modified"))); panel.RenderEndTag(output); output.RenderEndTag(); output.RenderEndTag(); output.RenderEndTag(); output.AddStyleAttribute(HtmlTextWriterStyle.Overflow, "auto"); output.RenderBeginTag(HtmlTextWriterTag.Tbody); }
internal override void RenderBeginList(System.Web.UI.HtmlTextWriter output) { BorderedPanel panel = new BorderedPanel (); panel.Page = fileView.Page; if (fileView.DetailsColumnHeaderStyle.HorizontalAlign == HorizontalAlign.NotSet) fileView.DetailsColumnHeaderStyle.HorizontalAlign = fileView.Controller.CurrentUICulture.TextInfo.IsRightToLeft ? HorizontalAlign.Right : HorizontalAlign.Left; panel.ControlStyle.CopyFrom (fileView.DetailsColumnHeaderStyle); output.AddAttribute (HtmlTextWriterAttribute.Cellpadding, "0"); output.AddAttribute (HtmlTextWriterAttribute.Cellspacing, "0"); output.AddAttribute (HtmlTextWriterAttribute.Border, "0"); output.AddStyleAttribute (HtmlTextWriterStyle.Width, "100%"); output.RenderBeginTag (HtmlTextWriterTag.Table); output.RenderBeginTag (HtmlTextWriterTag.Thead); output.RenderBeginTag (HtmlTextWriterTag.Tr); output.RenderBeginTag (HtmlTextWriterTag.Th); output.AddAttribute (HtmlTextWriterAttribute.Onclick, fileView.GetSortEventReference (SortMode.Name)); output.AddStyleAttribute (HtmlTextWriterStyle.Cursor, "default"); output.AddStyleAttribute (HtmlTextWriterStyle.WhiteSpace, "nowrap"); output.AddStyleAttribute (HtmlTextWriterStyle.Width, "100%"); output.AddAttribute (HtmlTextWriterAttribute.Id, fileView.ClientID + "_Thead_Name"); panel.RenderBeginTag (output); output.Write (HttpUtility.HtmlEncode (controller.GetResourceString ("Name", "Name"))); panel.RenderEndTag (output); output.RenderEndTag (); output.RenderBeginTag (HtmlTextWriterTag.Th); output.AddAttribute (HtmlTextWriterAttribute.Onclick, fileView.GetSortEventReference (SortMode.Size)); output.AddStyleAttribute (HtmlTextWriterStyle.Cursor, "default"); output.AddStyleAttribute (HtmlTextWriterStyle.WhiteSpace, "nowrap"); output.AddStyleAttribute (HtmlTextWriterStyle.Width, "100%"); output.AddAttribute (HtmlTextWriterAttribute.Id, fileView.ClientID + "_Thead_Size"); panel.RenderBeginTag (output); output.Write (HttpUtility.HtmlEncode (controller.GetResourceString ("Size", "Size"))); panel.RenderEndTag (output); output.RenderEndTag (); output.RenderBeginTag (HtmlTextWriterTag.Th); output.AddAttribute (HtmlTextWriterAttribute.Onclick, fileView.GetSortEventReference (SortMode.Type)); output.AddStyleAttribute (HtmlTextWriterStyle.Cursor, "default"); output.AddStyleAttribute (HtmlTextWriterStyle.WhiteSpace, "nowrap"); output.AddStyleAttribute (HtmlTextWriterStyle.Width, "100%"); output.AddAttribute (HtmlTextWriterAttribute.Id, fileView.ClientID + "_Thead_Type"); panel.RenderBeginTag (output); output.Write (HttpUtility.HtmlEncode (controller.GetResourceString ("Type", "Type"))); panel.RenderEndTag (output); output.RenderEndTag (); output.RenderBeginTag (HtmlTextWriterTag.Th); output.AddAttribute (HtmlTextWriterAttribute.Onclick, fileView.GetSortEventReference (SortMode.Modified)); output.AddStyleAttribute (HtmlTextWriterStyle.Cursor, "default"); output.AddStyleAttribute (HtmlTextWriterStyle.WhiteSpace, "nowrap"); output.AddStyleAttribute (HtmlTextWriterStyle.Width, "100%"); output.AddAttribute (HtmlTextWriterAttribute.Id, fileView.ClientID + "_Thead_Modified"); panel.RenderBeginTag (output); output.Write (HttpUtility.HtmlEncode (controller.GetResourceString ("Date_Modified", "Date Modified"))); panel.RenderEndTag (output); output.RenderEndTag (); output.RenderEndTag (); output.RenderEndTag (); output.AddStyleAttribute (HtmlTextWriterStyle.Overflow, "auto"); output.RenderBeginTag (HtmlTextWriterTag.Tbody); }