Exemple #1
0
        /// <internalonly/>
        /// <devdoc>
        ///    <para>Marks the beginning for tracking state changes on the control.
        ///       Any changes made after "mark" will be tracked and
        ///       saved as part of the control viewstate.</para>
        /// </devdoc>
        protected override void TrackViewState()
        {
            base.TrackViewState();

            if (ControlStyleCreated)
            {
                // the style shares the StateBag of its owner WebControl
                // call TrackState to let style participate in state management
                ControlStyle.TrackViewState();
            }

            if (attrState != null)
            {
                attrState.TrackViewState();
            }
        }
Exemple #2
0
        public Button(string label, ControlStyle style) : base()
        {
            if (style == null)
            {
                throw new NotSupportedException("A style must be provided for this button.");
            }

            Style = style;

            _render = new ControlRenderer(this);
            if (!string.IsNullOrEmpty(label) && style.FontStyle != null)
            {
                Label = new Label(label, style.FontStyle);
                Label.AnchorTo(this, Anchoring.PositionType.Inside_Middle_Center, 0, 0, Anchoring.AnchorType.Bounds);
            }
        }
        ///
        /// <summary>
        /// Adds HTML attributes and styles that need to be rendered to the specified
        /// <see cref="System.Web.UI.HtmlTextWriter"/>. This method is used primarily by control developers.
        /// </summary>
        /// <remarks>
        /// To render attributes and styles for a Web sServer control on the client, you typically call the
        /// <see cref="System.Web.UI.HtmlTextWriter.AddAttribute (string, string)"/> and
        /// <see cref="System.Web.UI.HtmlTextWriter.AddStyleAttribute (string, string)"/> methods to insert each attribute and style
        /// individually to the <see cref="System.Web.UI.HtmlTextWriter"/> output stream. To simplify the process,
        /// this method encapsulates all calls to the <see cref="System.Web.UI.HtmlTextWriter.AddAttribute (string, string)"/>
        /// and <see cref="System.Web.UI.HtmlTextWriter.AddStyleAttribute (string, string)"/> methods for every attribute and style
        /// associated with the Web server control. All attributes and styles are inserted into the
        /// <see cref="System.Web.UI.HtmlTextWriter.AddAttribute (string, string)"/> output stream in a single method call.
        /// This method is typically overridden by control developers in derived classes to insert the appropriate
        /// attributes and styles to the <see cref="System.Web.UI.HtmlTextWriter.AddAttribute (string, string)"/> output stream for
        /// the class.
        /// </remarks>
        /// <param name="writer">A <see cref="System.Web.UI.HtmlTextWriter"/> that represents the output stream
        /// to render HTML content on the client.</param>
        ///
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            if (DoWeShowLink())
            {
                base.AddAttributesToRender(writer);
            }
            else
            {
                if (ControlStyleCreated)
                {
                    ControlStyle.AddAttributesToRender(writer, this);
                }
            }

            return;
        }
Exemple #4
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// RenderViewMode renders the View (readonly) mode of the control
        /// </summary>
        /// <param name="writer">A HtmlTextWriter.</param>
        /// <history>
        ///     [cnurse]	05/04/2006	created
        /// </history>
        /// -----------------------------------------------------------------------------
        protected override void RenderViewMode(HtmlTextWriter writer)
        {
            var           objListController = new ListController();
            ListEntryInfo entry             = null;
            string        entryText         = Null.NullString;

            switch (ValueField)
            {
            case ListBoundField.Id:
                entry = objListController.GetListEntryInfo(Convert.ToInt32(Value));
                break;

            case ListBoundField.Text:
                entryText = StringValue;
                break;

            case ListBoundField.Value:
                entry = objListController.GetListEntryInfo(ListName, StringValue);
                break;
            }
            ControlStyle.AddAttributesToRender(writer);
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            if (entry != null)
            {
                switch (TextField)
                {
                case ListBoundField.Id:
                    writer.Write(entry.EntryID.ToString());
                    break;

                case ListBoundField.Text:
                    writer.Write(entry.Text);
                    break;

                case ListBoundField.Value:
                    writer.Write(entry.Value);
                    break;
                }
            }
            else
            {
                writer.Write(entryText);
            }

            //Close Select Tag
            writer.RenderEndTag();
        }
Exemple #5
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// RenderEditMode renders the Edit mode of the control
        /// </summary>
        /// <param name="writer">A HtmlTextWriter.</param>
        /// -----------------------------------------------------------------------------
        protected override void RenderEditMode(HtmlTextWriter writer)
        {
            PortalSettings _portalSettings = Globals.GetPortalSettings();

            //For convenience create a DropDownList to use
            var cboTimeZones = new DropDownList();

            //Load the List with Time Zones
            Localization.LoadTimeZoneDropDownList(cboTimeZones, ((PageBase)Page).PageCulture.Name, Convert.ToString(_portalSettings.TimeZoneOffset));

            //Select the relevant item
            if (cboTimeZones.Items.FindByValue(StringValue) != null)
            {
                cboTimeZones.ClearSelection();
                cboTimeZones.Items.FindByValue(StringValue).Selected = true;
            }

            //Render the Select Tag
            ControlStyle.AddAttributesToRender(writer);
            writer.AddAttribute(HtmlTextWriterAttribute.Name, UniqueID);
            writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID);
            writer.RenderBeginTag(HtmlTextWriterTag.Select);

            for (int I = 0; I <= cboTimeZones.Items.Count - 1; I++)
            {
                string timeZoneValue = cboTimeZones.Items[I].Value;
                string timeZoneName  = cboTimeZones.Items[I].Text;
                bool   isSelected    = cboTimeZones.Items[I].Selected;

                //Add the Value Attribute
                writer.AddAttribute(HtmlTextWriterAttribute.Value, timeZoneValue);

                if (isSelected)
                {
                    //Add the Selected Attribute
                    writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected");
                }

                //Render Option Tag
                writer.RenderBeginTag(HtmlTextWriterTag.Option);
                writer.Write(timeZoneName.PadRight(100).Substring(0, 50));
                writer.RenderEndTag();
            }

            //Close Select Tag
            writer.RenderEndTag();
        }
        protected override void DoPaintEvent(BaseScreen screen)
        {
            ExtRect crt = ClientRect;

            if ((ControlStyle.Contains(ControlStyles.сsOpaque)))
            {
                screen.FillRect(crt, Colors.Black);
            }
            CtlCommon.DrawCtlBorder(screen, crt);

            screen.SetTextColor(Colors.Gold, true);

            int th = Font.Height;
            int mg = (Height - th) / 2;
            int x  = crt.Left + mg;
            int y  = crt.Top + mg;

            screen.DrawText(x, y, fText, 0);

            int tw;

            if (fCaretPos == 0)
            {
                tw = 0;
            }
            else
            {
                tw = screen.GetTextWidth(fText.Substring(0, fCaretPos)) + 1;
            }

            int cw;

            if (fCaretPos >= fText.Length)
            {
                cw = 8;
            }
            else
            {
                cw = screen.GetTextWidth("" + fText[fCaretPos]);
            }
            x += tw;
            y  = y + th + 1;
            screen.DrawLine(x, y, x + cw, y, Colors.Gold);

            //screen.drawText(x + tw, y + 3, "_", 0); // cursor
        }
Exemple #7
0
        /// <devdoc>
        ///    Add positioning custom attributes.
        /// </devdoc>
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            string oldCssClass = CssClass;
            Style  oldStyle    = _style;

            CssClass = String.Empty;
            _style   = null;
            ControlStyle.Reset();

            base.AddAttributesToRender(writer);

            CssClass = oldCssClass;
            _style   = oldStyle;

            // Non-configurable style attributes
            RenderStyleAttributes(writer);
        }
Exemple #8
0
 void MoveByCurve()
 {
     if (motionCurve == null)
     {
         control = ControlStyle.INPUT;
         return;
     }
     motionCurve.PassTime(Time.fixedDeltaTime);
     if (motionCurve.IsDone)
     {
         motionCurve = null;
         control     = ControlStyle.INPUT;
     }
     else
     {
         position += motionCurve.Movement * Time.fixedDeltaTime;
     }
 }
        ///
        /// <summary>
        /// Perform last-minute duties before rendering us and our child controls.
        /// </summary>
        /// <remarks>
        /// This method allows us to perform actions after all controls have been loaded and events
        /// processed, just before we start the rendering cycle.  We use this time to propagate style
        /// information to our child controls.
        /// Note for inheritors - for this control to function properly, any derived controls that override
        /// this method should ensure that they call this base method as part of their OnPreRender.
        /// </remarks>
        /// <param name="e">An <see cref="EventArgs"/> object that contains the event data.</param>
        ///
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            if ((!IsInDesignMode) && (ControlStyleCreated))
            {
                _realField.ApplyStyle(ControlStyle);
                ControlStyle.Reset();
                foreach (string styleName in Style.Keys)
                {
                    _realField.Style [styleName] = Style [styleName];
                }
            }

            ViewState ["ChosenDateValue"] = Value;

            return;
        }
        protected override void Render(HtmlTextWriter writer)
        {
            var css = !String.IsNullOrEmpty(CssClass) ? CssClass : ((Toolbar)Parent).CssClass;

            // render style attribute
            ControlStyle.AddAttributesToRender(writer);
            AddAttributesToRender(writer);
            writer.AddAttribute("class", css);

            writer.RenderBeginTag("td");

            foreach (var c in Controls.Cast <Control>())
            {
                c.RenderControl(writer);
            }

            writer.RenderEndTag();
        }
 public override void ApplyStyle(ControlStyle ct)
 {
     base.ApplyStyle(ct);
     if (ct.BackColor != null)
     {
         flowLayoutPanel1.BackColor = ct.BackColor;
     }
     if (ct.ForeColor != null)
     {
         flowLayoutPanel1.ForeColor = ct.ForeColor;
     }
     //this.BackColor = Control.DefaultBackColor;
     //this.ForeColor = Control.DefaultForeColor;
     ctlMachineConfigView.ApplyStyle(ct);
     ctlSliceProfileConfig.ApplyStyle(ct);
     pnlMachineConfig.BackColor = Control.DefaultBackColor;
     pnlMachineConfig.ForeColor = Control.DefaultForeColor;
 }
Exemple #12
0
        /// <summary>
        /// Creates pen for border painting
        /// </summary>
        /// <returns></returns>
        public static Pen InitPenForPaint(Color foreColor, ControlStyle controlStyle, CtrlLineType lineType, int lineWidth)
        {
            Pen pen = new Pen(foreColor);

            // set properties of pen
            pen.Alignment = System.Drawing.Drawing2D.PenAlignment.Inset; // Paint from inside when pen width is greater than 1
            if (controlStyle == ControlStyle.TwoD)
            {
                pen.Width = lineWidth;
                float[] dashPattern = ControlRenderer.GetDashPattern(lineType);
                if (dashPattern != null)
                {
                    pen.DashPattern = dashPattern;
                }
            }

            return(pen);
        }
Exemple #13
0
        //TODO: Kaushal. When the rendering code will be moved from MgUtils to MgControls,
        //the scope of many methods in this class should be changed to private.

        /// <summary>
        /// paint background of control
        /// </summary>
        /// <param name="g"></param>
        /// <param name="rect"></param>
        /// <param name="bgColor"></param>
        /// <param name="fgColor"></param>
        /// <param name="style"></param>
        /// <param name="textBoxBorder"></param>
        /// <param name="gradientColor"></param>
        /// <param name="gradientStyle"></param>
        /// <param name="borderType"></param>
        /// <returns></returns>
        public static Rectangle FillRectAccordingToGradientStyle(Graphics g, Rectangle rect, Color bgColor, Color fgColor,
                                                                 ControlStyle style, bool textBoxBorder, GradientColor gradientColor,
                                                                 GradientStyle gradientStyle, BorderType borderType = BorderType.Thin)
        {
            if (gradientStyle == GradientStyle.None)
            {
                PaintBackGround(g, rect, bgColor, true);
            }
            else
            {
                PaintBackGroundGradient(g, rect, bgColor, fgColor, style, textBoxBorder,
                                        gradientColor, gradientStyle, false, 0);
            }

            BorderRenderer.PaintBorder(g, rect, fgColor, style, textBoxBorder, borderType);

            return(rect);
        }
Exemple #14
0
        /// <Summary>RenderEditMode renders the Edit mode of the control</Summary>
        /// <Param name="writer">A HtmlTextWriter.</Param>
        protected override void RenderEditMode(HtmlTextWriter writer)
        {
            //For convenience create a DropDownList to use
            DropDownList cboLocale = new DropDownList();

            //Load the List with Locales
            Localization.LoadCultureDropDownList(cboLocale, CultureDropDownTypes.NativeName, ((PageBase)Page).PageCulture.Name);

            //Select the relevant item
            if (cboLocale.Items.FindByValue(StringValue) != null)
            {
                cboLocale.ClearSelection();
                cboLocale.Items.FindByValue(StringValue).Selected = true;
            }

            //Render the Select Tag
            ControlStyle.AddAttributesToRender(writer);
            writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
            writer.RenderBeginTag(HtmlTextWriterTag.Select);

            for (int I = 0; I <= cboLocale.Items.Count - 1; I++)
            {
                string localeValue = cboLocale.Items[I].Value;
                string localeName  = cboLocale.Items[I].Text;
                bool   isSelected  = cboLocale.Items[I].Selected;

                //Add the Value Attribute
                writer.AddAttribute(HtmlTextWriterAttribute.Value, localeValue);

                if (isSelected)
                {
                    //Add the Selected Attribute
                    writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected");
                }

                //Render Option Tag
                writer.RenderBeginTag(HtmlTextWriterTag.Option);
                writer.Write(localeName);
                writer.RenderEndTag();
            }

            //Close Select Tag
            writer.RenderEndTag();
        }
Exemple #15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="g"></param>
        /// <param name="gradientRect"></param>
        /// <param name="bgColor"></param>
        /// <param name="fgColor"></param>
        /// <param name="style"></param>
        /// <param name="TextBoxBorder"></param>
        /// <param name="GradientFromColor"></param>
        /// <param name="GradientToColor"></param>
        /// <param name="GradientStyle"></param>
        /// <returns></returns>
        internal static void PaintBackGroundGradientMobile(Graphics g, Rectangle gradientRect, Color bgColor, Color fgColor,
                                                           ControlStyle style, bool textBoxBorder, GradientColor gradientColor,
                                                           GradientStyle gradientStyle)
        {
            //QCR #915016, enable has effect in foreground only
            // GradientFromColor = (enabled ? GradientFromColor : getGrayScaleColor(GradientFromColor));
            // GradientToColor = (enabled ? GradientToColor : getGrayScaleColor(GradientToColor));
            if (gradientStyle == GradientStyle.None)
            {
                Debug.Assert(false);
            }

            switch (gradientStyle)
            {
            case GradientStyle.Horizontal:
            case GradientStyle.HorizontalSymmetric:
            case GradientStyle.HorizontalWide:
                GradientFill.Fill(g, gradientRect, gradientColor.From, gradientColor.To,
                                  GradientFill.FillDirection.Vertical);
                break;

            case GradientStyle.Vertical:
            case GradientStyle.VerticalSymmetric:
            case GradientStyle.VerticalWide:
                GradientFill.Fill(g, gradientRect, gradientColor.From, gradientColor.To,
                                  GradientFill.FillDirection.Horizontal);
                break;

            case GradientStyle.CornerBottomRight:
            case GradientStyle.CornerBottomLeft:
            case GradientStyle.CornerTopLeft:
            case GradientStyle.CornerTopRight:
            case GradientStyle.Center:
                PaintBackgroundAndBorder(g, gradientRect, bgColor, fgColor, style, textBoxBorder, true);
                break;

            case GradientStyle.None://1
                //assert(false);
                break;

            default:
                break;
            }
        }
Exemple #16
0
        protected override void Render(HtmlTextWriter writer)
        {
            string css, csshover;

            if (Enabled)
            {
                if (Selected)
                {
                    css = !String.IsNullOrEmpty(CssClassSelected) ? CssClassSelected : ((TabHeader)Parent).CssClassSelected;
                }
                else
                {
                    css = !String.IsNullOrEmpty(CssClass) ? CssClass : ((TabHeader)Parent).CssClass;
                }
            }
            else
            {
                css = !String.IsNullOrEmpty(CssClassDisabled) ? CssClassDisabled : ((TabHeader)Parent).CssClassDisabled;
            }
            csshover = !String.IsNullOrEmpty(CssClassHover) ? CssClassHover : ((TabHeader)Parent).CssClassHover;

            // render style attribute
            ControlStyle.AddAttributesToRender(writer);

            writer.AddAttribute("id", ClientID);
            writer.AddAttribute("class", css);

            if (!Selected && Enabled)
            {
                writer.AddAttribute("onClick", Page.ClientScript.GetPostBackEventReference(this, null));
            }

            if (!Selected && Enabled && !String.IsNullOrEmpty(csshover))
            {
                writer.AddAttribute("onMouseOver", String.Format("Graywulf_Button_Over('{0}', '{1}');", ClientID, csshover));
                writer.AddAttribute("onMouseOut", String.Format("Graywulf_Button_Out('{0}', '{1}');", ClientID, css));
            }

            writer.RenderBeginTag("td");

            writer.WriteEncodedText(Text);

            writer.RenderEndTag();
        }
Exemple #17
0
        protected override object SaveViewState()
        {
#if NET_2_0
            object[] state = new object [9];
#else
            object[] state = new object [8];
#endif
            state[0] = base.SaveViewState();
            if (itemStyle != null)
            {
                state [1] = itemStyle.SaveViewState();
            }
            if (selectedItemStyle != null)
            {
                state [2] = selectedItemStyle.SaveViewState();
            }
            if (alternatingItemStyle != null)
            {
                state [3] = alternatingItemStyle.SaveViewState();
            }
            if (editItemStyle != null)
            {
                state [4] = editItemStyle.SaveViewState();
            }
            if (separatorStyle != null)
            {
                state [5] = separatorStyle.SaveViewState();
            }
            if (headerStyle != null)
            {
                state [6] = headerStyle.SaveViewState();
            }
            if (footerStyle != null)
            {
                state [7] = footerStyle.SaveViewState();
            }
#if NET_2_0
            if (ControlStyleCreated)
            {
                state [8] = ControlStyle.SaveViewState();
            }
#endif
            return(state);
        }
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// RenderEditMode renders the Edit mode of the control
 /// </summary>
 /// <param name="writer">A HtmlTextWriter.</param>
 /// <history>
 ///     [cnurse]	05/04/2006	created
 /// </history>
 /// -----------------------------------------------------------------------------
 protected override void RenderEditMode(HtmlTextWriter writer)
 {
     if (ListEntries == null || !ListEntries.Any())
     {
         //No List so use a Text Box
         string propValue = Convert.ToString(Value);
         ControlStyle.AddAttributesToRender(writer);
         writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
         writer.AddAttribute(HtmlTextWriterAttribute.Value, propValue);
         writer.AddAttribute(HtmlTextWriterAttribute.Name, UniqueID);
         writer.RenderBeginTag(HtmlTextWriterTag.Input);
         writer.RenderEndTag();
     }
     else
     {
         //Render the standard List
         base.RenderEditMode(writer);
     }
 }
Exemple #19
0
        private static readonly Color supernovaColor = UIAppearance.Style == UIStyle.Supernova ? Colors.GetSupernovaColor() : Color.CornflowerBlue;//Sets and Gets supernova color if the style is supernova
        #endregion

        #region -> Constructor

        public CTButton()
        {
            //Initialize properties
            this.BackColor = UIAppearance.StyleColor;
            this.FlatAppearance.BorderSize = 0;
            this.FlatStyle      = FlatStyle.Flat;
            this.Flip           = FlipOrientation.Normal;
            this.Font           = new Font("Microsoft Sans Serif", UIAppearance.TextSize, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0)));
            this.ForeColor      = Color.White;
            this.IconChar       = FontAwesome.Sharp.IconChar.None;
            this.IconSize       = 24;
            this.IconColor      = Color.White;
            this.Rotation       = 0D;
            this.Size           = new Size(170, 40);
            tempSize            = new Size(170, 40);
            borderSize          = 1;
            style               = ControlStyle.Solid;                     //Solid as default
            this.HandleCreated += new EventHandler(Button_HandleCreated); //Associate with HandleCreated event
        }
Exemple #20
0
        // constructor
        public Control(int x, int y, int w, int h, string name)
        {
            // dimensions
            this.x      = x;
            this.y      = y;
            this.width  = w;
            this.height = h;

            // properties
            this.name    = name;
            this.text    = string.Empty;
            this.tag     = string.Empty;
            this.enabled = true;
            this.visible = true;
            this.font    = FontIndex.mono7x9;

            // style
            this.style = ControlStyles.DARK;
        }
 /// <summary>
 /// Need to implement this at mainform level too
 /// </summary>
 /// <param name="ct"></param>
 public void ApplyStyle(ControlStyle ct)
 {
     /*
      * if(ct.BackColor !=null)
      * {
      *  pnlTopIcons.BackColor = ct.BackColor;
      *  pnlTopTabs.BackColor = ct.BackColor;
      * }
      */
     /*
      * mStyle = ct;
      * mStyleName = ct.Name;
      * ApplyStyleRecurse(this, ct);
      * if (ct.BackColor != ControlStyle.NullColor)
      *  bgndPanel.col = ct.BackColor;
      * if (ct.BgndImageName != null)
      *  bgndPanel.imageName = ct.BgndImageName;
      * */
 }
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// RenderEditMode renders the Edit mode of the control
        /// </summary>
        /// <param name="writer">A HtmlTextWriter.</param>
        /// -----------------------------------------------------------------------------
        protected override void RenderEditMode(HtmlTextWriter writer)
        {
            IList <PackageType> packageTypes = PackageController.Instance.GetExtensionPackageTypes();

            //Render the Select Tag
            ControlStyle.AddAttributesToRender(writer);
            writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
            writer.AddAttribute(HtmlTextWriterAttribute.Name, UniqueID);
            writer.RenderBeginTag(HtmlTextWriterTag.Select);

            //Add the Not Specified Option
            writer.AddAttribute(HtmlTextWriterAttribute.Value, Null.NullString);

            if (StringValue == Null.NullString)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected");
            }

            //Render Option Tag
            writer.RenderBeginTag(HtmlTextWriterTag.Option);
            writer.Write("<" + DNNLocalization.GetString("Not_Specified", DNNLocalization.SharedResourceFile) + ">");
            writer.RenderEndTag();

            foreach (PackageType type in packageTypes)
            {
                //Add the Value Attribute
                writer.AddAttribute(HtmlTextWriterAttribute.Value, type.PackageType);

                if (type.PackageType == StringValue)
                {
                    //Add the Selected Attribute
                    writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected");
                }

                //Render Option Tag
                writer.RenderBeginTag(HtmlTextWriterTag.Option);
                writer.Write(type.PackageType);
                writer.RenderEndTag();
            }

            //Close Select Tag
            writer.RenderEndTag();
        }
Exemple #23
0
        private void DrawControlStage()
        {
            EditorGUILayout.LabelField("Control", EditorStyles.boldLabel);
            EditorWindowTools.StartIndentedSection();
            var          simpleController     = pcObject.GetComponent <PixelCrushers.DialogueSystem.Demo.SimpleController>();
            var          navigateOnMouseClick = pcObject.GetComponent <PixelCrushers.DialogueSystem.Demo.NavigateOnMouseClick>();
            ControlStyle controlStyle         = (simpleController != null)
                ? ControlStyle.SimpleThirdPerson
                : (navigateOnMouseClick != null)
                    ? ControlStyle.FollowMouseClicks
                    : ControlStyle.Custom;

            EditorGUILayout.HelpBox("How will the player control movement? The Dialogue System provides some simple control components to help you start prototyping quickly, but they are NOT intended for production use. Select Custom to provide your own control components instead of using the Dialogue System's.", MessageType.Info);
            controlStyle = (ControlStyle)EditorGUILayout.EnumPopup("Control", controlStyle);
            switch (controlStyle)
            {
            case ControlStyle.SimpleThirdPerson:
                DestroyImmediate(navigateOnMouseClick);
                navMouseClickEditor = null;
                DrawSimpleControllerSection(simpleController ?? pcObject.AddComponent(TypeUtility.GetWrapperType(typeof(PixelCrushers.DialogueSystem.Demo.SimpleController))) as Demo.SimpleController);
                break;

            case ControlStyle.FollowMouseClicks:
                DestroyImmediate(simpleController);
                simpleControllerEditor = null;
                DrawNavigateOnMouseClickSection(navigateOnMouseClick ?? pcObject.AddComponent(TypeUtility.GetWrapperType(typeof(PixelCrushers.DialogueSystem.Demo.NavigateOnMouseClick))) as Demo.NavigateOnMouseClick);
                break;

            default:
                DestroyImmediate(simpleController);
                DestroyImmediate(navigateOnMouseClick);
                navMouseClickEditor    = null;
                simpleControllerEditor = null;
                break;
            }
            if (GUILayout.Button("Select Player", GUILayout.Width(100)))
            {
                Selection.activeGameObject = pcObject;
            }
            EditorWindowTools.EndIndentedSection();
            DrawNavigationButtons(true, true, false);
        }
Exemple #24
0
        /// <Summary>
        /// RenderViewMode renders the View (readonly) mode of the control
        /// </Summary>
        /// <Param name="writer">A HtmlTextWriter.</Param>
        protected override void RenderViewMode(HtmlTextWriter writer)
        {
            //For convenience create a DropDownList to use
            DropDownList cboLocale = new DropDownList();

            //Load the List with Locales
            Localization.LoadCultureDropDownList(cboLocale, CultureDropDownTypes.NativeName, ((PageBase)Page).PageCulture.Name);

            //Select the relevant item
            if (cboLocale.Items.FindByValue(StringValue) != null)
            {
                cboLocale.ClearSelection();
                cboLocale.Items.FindByValue(StringValue).Selected = true;
            }

            ControlStyle.AddAttributesToRender(writer);
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.Write(cboLocale.SelectedItem.Text);
            writer.RenderEndTag();
        }
 /// <summary>
 /// Adds attributes to the writer
 /// </summary>
 /// <param name="writer"></param>
 protected virtual void AddAttributesToRender(HtmlTextWriter writer)
 {
     if (ID != null)
     {
         writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID);
     }
     if (TagKey == HtmlTextWriterTag.Span || TagKey == HtmlTextWriterTag.A)
     {
         AddDisplayInlineBlockIfNeeded(writer);
     }
     if (ControlStyleCreated && !ControlStyle.IsEmpty)
     {
         // unfortunately since we're not a "WebControl" we can't pass ourselves as a UrlResolver
         ControlStyle.AddAttributesToRender(writer);
     }
     foreach (string key in Attributes.Keys)
     {
         writer.AddAttribute(key, Attributes[key]);
     }
 }
Exemple #26
0
        /// <Summary>
        /// RenderViewMode renders the View (readonly) mode of the control
        /// </Summary>
        /// <Param name="writer">A HtmlTextWriter.</Param>
        protected override void RenderViewMode(HtmlTextWriter writer)
        {
            object propValue;

            try
            {
                propValue = Enum.Parse(EnumType, Value.ToString());
            }
            catch (ArgumentException e)
            {
                propValue = Value;
            }

            string enumValue = Enum.Format(EnumType, propValue, "G");

            ControlStyle.AddAttributesToRender(writer);
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.Write(enumValue);
            writer.RenderEndTag();
        }
Exemple #27
0
        protected override void Render(HtmlTextWriter writer)
        {
            // render style attribute
            ControlStyle.AddAttributesToRender(writer);

            writer.AddAttribute("class", CssClass);
            writer.RenderBeginTag("table");

            writer.AddAttribute("class", CssClass);
            writer.RenderBeginTag("tr");


            foreach (var c in Controls.Cast <Control>())
            {
                c.RenderControl(writer);
            }

            writer.RenderEndTag();
            writer.RenderEndTag();
        }
Exemple #28
0
        /// <summary>
        /// Paints the Line control
        /// TODO : Move this method to LineRenderer
        /// </summary>
        public static void PaintLineForeGround(Graphics g, Color fgColor, ControlStyle style, int lineWidth, CtrlLineType lineStyle, Point pt1, Point pt2)
        {
#if !PocketPC
            SmoothingMode orgmode = g.SmoothingMode;
            g.SmoothingMode = SmoothingMode.AntiAlias;
#endif

            Pen pen = new Pen(fgColor, lineWidth); // TODO : use new pen's cache here

            float[] dashPattern = ControlRenderer.GetDashPattern(lineStyle);
            if (dashPattern != null)
            {
                pen.DashPattern = dashPattern;
            }

            LineRenderer.Draw(g, pen, pt1, pt2, style);

#if !PocketPC
            g.SmoothingMode = orgmode;
#endif
        }
Exemple #29
0
        /// -----------------------------------------------------------------------------
        /// <summary>
        /// RenderViewMode renders the View (readonly) mode of the control
        /// </summary>
        /// <param name="writer">A HtmlTextWriter.</param>
        /// <history>
        ///     [cnurse]	05/02/2006	created
        /// </history>
        /// -----------------------------------------------------------------------------
        protected override void RenderViewMode(HtmlTextWriter writer)
        {
            PortalSettings _portalSettings = Globals.GetPortalSettings();

            //For convenience create a DropDownList to use
            var cboTimeZones = new DropDownList();

            //Load the List with Time Zones
            Localization.LoadTimeZoneDropDownList(cboTimeZones, ((PageBase)Page).PageCulture.Name, Convert.ToString(_portalSettings.TimeZoneOffset));

            //Select the relevant item
            if (cboTimeZones.Items.FindByValue(StringValue) != null)
            {
                cboTimeZones.ClearSelection();
                cboTimeZones.Items.FindByValue(StringValue).Selected = true;
            }
            ControlStyle.AddAttributesToRender(writer);
            writer.RenderBeginTag(HtmlTextWriterTag.Span);
            writer.Write(cboTimeZones.SelectedItem.Text);
            writer.RenderEndTag();
        }
 protected override void RenderEditMode(HtmlTextWriter writer)
 {
     if (ListEntries != null && ListEntries.Any())
     {
         foreach (ListEntryInfo item in ListEntries)
         {
             Regions.Items.Add(new ListItem()
             {
                 Text = item.Text, Value = item.EntryID.ToString()
             });
         }
     }
     ControlStyle.AddAttributesToRender(writer);
     writer.AddAttribute("data-name", Name);
     writer.AddAttribute("data-list", "Region");
     writer.AddAttribute("data-category", Category);
     writer.AddAttribute("data-required", Required.ToString().ToLowerInvariant());
     writer.RenderBeginTag(HtmlTextWriterTag.Div);
     RenderChildren(writer);
     writer.RenderEndTag();
 }
Exemple #31
0
 private void ItemIcons(string name)
 {
     ControlStyle itemText = new ControlStyle();
     itemText.Texture = "Textures/" + name + ".dds";
     GUI.AddStyle(name, itemText);
 }
    void HandlePlayerInput()
    {
        /* Leggiero -
        * Keyboard WASD – Forward, Left strafe, Backward, Right strafe (respectively)
        * Keyboard Space or Shift – Boost (takes up stamina)
        * Keyboard Ctrl – Brake
        * Mouse movement – Pitch, yaw
        * Mouse left click – Forward - Leggiero.
        * Mouse right click - Attack? Or is attacking automatic? - Moore
        */

        //Misc Options Section
        if (Input.GetButtonDown("Fire2"))
        {
            //If the player just used Fire2 (Middleclick) change the movement control style to the next level up. This may be better suited to an on screen button or options menu.
            switch (controlStyle)
            {
            case ControlStyle.Advanced:
                controlStyle = ControlStyle.Basic;
                break;
            case ControlStyle.Basic:
                controlStyle = ControlStyle.Normal;
                break;
            case ControlStyle.Normal:
                controlStyle = ControlStyle.Advanced;
                break;

            default:
                break;
            }
        }

        //Movement Section

        gamepadLeftHorizontalOffset = Input.GetAxis("Horizontal");
        gamepadLeftVerticalOffset = Input.GetAxis("Vertical");

        gamepadRightHorizontalOffset = Input.GetAxis("RightHorizontal");
        gamepadRightVerticalOffset = Input.GetAxis("RightVertical");

        if (controlStyle == ControlStyle.Basic)
        {
            rigidbody.velocity = Vector3.zero;
            rigidbody.AddForce((transform.forward * movespeed * gamepadLeftVerticalOffset * (movementScalar + movementBoostScalar) * strokeDelayScalar));
            rigidbody.AddForce((transform.right * movespeed / 2 * gamepadLeftHorizontalOffset * (movementScalar + movementBoostScalar) * strokeDelayScalar));

            if (Input.GetButton("Jump"))
            {
                rigidbody.AddForce((transform.up * movespeed * (movementScalar + movementBoostScalar) * strokeDelayScalar));
            }
        } else if (CanStroke())
        {
            bool didStroke = false;
            gamepadTriggerOffset = Input.GetAxis("Trigger");
            if (gamepadTriggerOffset >= 0)
            {
                movementBoostScalar = (20.0f * gamepadTriggerOffset); //Makes the modifier range from 0.0 to 20.0 assuming the trigger is fully depressed. - Moore
            } else
            {
                movementBoostScalar = (-20.0f * gamepadTriggerOffset / 2.0f); //Lower range is from -10.0 to 0.0. Because it's additive, if the player isn't moving, the player will move backwards. We can fix this later. - Moore
            }

            //destination = transform.forward * movespeed;
            if (controlStyle == ControlStyle.Advanced)
            {
                rigidbody.AddForce(new Vector3(-rigidbody.velocity.x, 0, -rigidbody.velocity.z)); //Cancel out existing forces except for Gravity and whatnot.
            } else if (controlStyle == ControlStyle.Normal)
            {
                rigidbody.AddForce(-rigidbody.velocity); //Cancel out all forces.
            }
            rigidbody.AddForce((transform.forward * movespeed * gamepadLeftVerticalOffset * (movementScalar + movementBoostScalar) * strokeDelayScalar));
            rigidbody.AddForce((transform.right * movespeed / 2 * gamepadLeftHorizontalOffset * (movementScalar + movementBoostScalar) * strokeDelayScalar));

            if (gamepadLeftVerticalOffset != 0 || gamepadLeftHorizontalOffset != 0)
            {
                didStroke = true;
            }

            //transform.position = Vector3.MoveTowards(transform.position, transform.position + (transform.forward * movespeed * Input.GetAxis("Vertical")), movespeed); //Moves forward based on the vertical axis (Joystick left stick or Keyboard WS keys). - Moore
            //transform.position = Vector3.MoveTowards(transform.position, transform.position + (transform.right * movespeed / 2 * Input.GetAxis("Horizontal")), movespeed / 2); //Horizontal speed is half of forward movespeed.
            //The two above commands work, but they work around the physics system. They're good if we're using an object that doesn't need rigid bodies, but isn't going to work as well for TSHE. - Moore

            //if (Input.GetButton("Jump")) {transform.position = Vector3.MoveTowards(transform.position, transform.position + (transform.up * movespeed / 2), movespeed / 2);} //Vertical speed is also halved. | Another older version that ignored rigidbody physics.

            if (Input.GetButton("Jump"))
            {
                rigidbody.AddForce((transform.up * movespeed * (movementScalar + movementBoostScalar) * strokeDelayScalar));
                didStroke = true;
            }

            if (didStroke)
            {
                ResetStrokeCooldown();
                if (movementBoostScalar != 0)
                {
                    strokeCooldown /= 2;
                } //Boost means twice as many strokes per unit time and twice the speed.
            }

            IsLookingAt();
        }

        //Enforce a maximum speed.
        if (rigidbody.velocity.magnitude > maxspeed)
        {
            rigidbody.velocity = rigidbody.velocity.normalized * maxspeed;
        }

        //TODO: Allow the player to attack. This doesn't matter if the player has used a stroke or not.
    }
Exemple #33
0
 private void cmbStyles_SelectedIndexChanged(object sender, System.EventArgs e)
 {
     this.controlStyle = (ControlStyle)System.Enum.Parse(typeof(ControlStyle), this.cmbStyles.Text);
     RefreshView();
 }
Exemple #34
0
        private void Styles()
        {
            #region styles
            ControlStyle itemStyle = new ControlStyle();
            itemStyle.GridEnabled = true;
            itemStyle.Grid = new Margin(6);
            itemStyle.Texture = "Textures/button_hot.dds";
            itemStyle.Default.Texture = "Textures/button_default.dds";
            itemStyle.Pressed.Texture = "Textures/button_down.dds";
            itemStyle.SelectedPressed.Texture = "Textures/button_down.dds";
            itemStyle.Focused.Texture = "Textures/button_down.dds";
            itemStyle.SelectedFocused.Texture = "Textures/button_down.dds";
            itemStyle.Selected.Texture = "Textures/button_down.dds";
            itemStyle.SelectedHot.Texture = "Textures/button_down.dds";
            itemStyle.TextPadding = new Margin(10, 0, 10, 0);

            ControlStyle inputStyle = new ControlStyle();
            inputStyle.Texture = "Textures/input_default.dds";
            inputStyle.Hot.Texture = "Textures/input_focused.dds";
            inputStyle.Focused.Texture = "Textures/input_focused.dds";
            inputStyle.TextPadding = new Margin(8);
            inputStyle.GridEnabled = true;
            inputStyle.Grid = new Margin(6);

            ControlStyle buttonStyle = new ControlStyle();
            buttonStyle.Texture = "Textures/buttonBasic.dds";
            buttonStyle.Hot.Texture = "Textures/buttonOver.dds";
            buttonStyle.Pressed.Texture = "Textures/buttonClick.dds";
            buttonStyle.TextAlign = ContentAlignment.MiddleCenter;
            buttonStyle.GridEnabled = true;
            buttonStyle.Grid = new Margin(6);

            ControlStyle frameStyle = new ControlStyle();
            frameStyle.GridEnabled = true;
            frameStyle.Grid = new Margin(0);
            frameStyle.Texture = "Textures/background.dds";

            ControlStyle frame2Style = new ControlStyle();
            frame2Style.GridEnabled = true;
            frame2Style.Grid = new Margin(0);
            frame2Style.Texture = "Textures/tooltipBG.dds";

            ControlStyle vscrollTrackStyle = new ControlStyle();
            vscrollTrackStyle.GridEnabled = true;
            vscrollTrackStyle.Grid = new Margin(0, 3, 0, 3);
            vscrollTrackStyle.Texture = "Textures/scrollTrack.dds";

            ControlStyle vscrollButtonStyle = new ControlStyle();
            vscrollButtonStyle.GridEnabled = true;
            vscrollButtonStyle.Grid = new Margin(0, 4, 0, 4);
            vscrollButtonStyle.Texture = "Textures/scrollButton.dds";
            vscrollButtonStyle.Hot.Texture = "Textures/scrollButton.dds";
            vscrollButtonStyle.Pressed.Texture = "Textures/scrollButton.dds";

            ControlStyle vscrollUp = new ControlStyle();
            vscrollUp.Default.Texture = "Textures/scrollArrowUp.dds";
            vscrollUp.Hot.Texture = "Textures/scrollArrowUp.dds";
            vscrollUp.Pressed.Texture = "Textures/scrollArrowUp.dds";
            vscrollUp.Focused.Texture = "Textures/scrollArrowUp.dds";

            ControlStyle vscrollDown = new ControlStyle();
            vscrollDown.Default.Texture = "Textures/scrollArrowDown.dds";
            vscrollDown.Hot.Texture = "Textures/scrollArrowDown.dds";
            vscrollDown.Pressed.Texture = "Textures/scrollArrowDown.dds";
            vscrollDown.Focused.Texture = "Textures/scrollArrowDown.dds";

            ControlStyle hscrollTrackStyle = new ControlStyle();
            hscrollTrackStyle.GridEnabled = true;
            hscrollTrackStyle.Grid = new Margin(3, 0, 3, 0);
            hscrollTrackStyle.Texture = "Textures/hscroll_track.dds";

            ControlStyle hscrollButtonStyle = new ControlStyle();
            hscrollButtonStyle.GridEnabled = true;
            hscrollButtonStyle.Grid = new Margin(4, 0, 4, 0);
            hscrollButtonStyle.Texture = "Textures/hscroll_button.dds";
            hscrollButtonStyle.Hot.Texture = "Textures/hscroll_button_hot.dds";
            hscrollButtonStyle.Pressed.Texture = "Textures/hscroll_button_down.dds";

            ControlStyle hscrollUp = new ControlStyle();
            hscrollUp.Default.Texture = "Textures/hscrollUp_default.dds";
            hscrollUp.Hot.Texture = "Textures/hscrollUp_hot.dds";
            hscrollUp.Pressed.Texture = "Textures/hscrollUp_down.dds";
            hscrollUp.Focused.Texture = "Textures/hscrollUp_hot.dds";

            ControlStyle checkButtonStyle = new ControlStyle();
            checkButtonStyle.Default.Texture = "Textures/checkbox_default.dds";
            checkButtonStyle.Hot.Texture = "Textures/checkbox_hot.dds";
            checkButtonStyle.Pressed.Texture = "Textures/checkbox_down.dds";
            checkButtonStyle.Checked.Texture = "Textures/checkbox_checked.dds";
            checkButtonStyle.CheckedFocused.Texture = "Textures/checkbox_checked_hot.dds";
            checkButtonStyle.CheckedHot.Texture = "Textures/checkbox_checked_hot.dds";
            checkButtonStyle.CheckedPressed.Texture = "Textures/checkbox_down.dds";

            ControlStyle comboLabelStyle = new ControlStyle();
            comboLabelStyle.TextPadding = new Margin(10, 0, 0, 0);
            comboLabelStyle.Default.Texture = "Textures/combo_default.dds";
            comboLabelStyle.Hot.Texture = "Textures/combo_hot.dds";
            comboLabelStyle.Pressed.Texture = "Textures/combo_down.dds";
            comboLabelStyle.Focused.Texture = "Textures/combo_hot.dds";
            comboLabelStyle.GridEnabled = true;
            comboLabelStyle.Grid = new Margin(6, 0, 0, 0);

            ControlStyle comboButtonStyle = new ControlStyle();
            comboButtonStyle.Default.Texture = "Textures/combo_button_default.dds";
            comboButtonStyle.Hot.Texture = "Textures/combo_button_hot.dds";
            comboButtonStyle.Pressed.Texture = "Textures/combo_button_down.dds";
            comboButtonStyle.Focused.Texture = "Textures/combo_button_hot.dds";

            ControlStyle labelStyle = new ControlStyle();
            labelStyle.TextAlign = ContentAlignment.MiddleCenter;
            labelStyle.TextColor = Game.Globals.Colorkey(MTV3D65.CONST_TV_COLORKEY.TV_COLORKEY_BLACK); //Game.Globals.RGBA(255, 255, 255, 0);

            ControlStyle skillLabelStyle = new ControlStyle();
            skillLabelStyle.TextAlign = ContentAlignment.MiddleLeft;
            //skillLabelStyle.Font = "Abaddon™";
            skillLabelStyle.TextColor = Game.Globals.Colorkey(MTV3D65.CONST_TV_COLORKEY.TV_COLORKEY_BLACK);
            GUI.AddStyle("skillLabel", skillLabelStyle);

            ControlStyle slotStyle = new ControlStyle();
            slotStyle.Texture = "Textures/slot.dds";
            slotStyle.TextAlign = ContentAlignment.MiddleCenter;
            slotStyle.GridEnabled = true;
            slotStyle.Grid = new Margin(6);

            ControlStyle headerStyle = new ControlStyle();
            headerStyle.Texture = "Textures/windowHeadBasic.dds";
            headerStyle.Hot.Texture = "Textures/windowHeadOver.dds";
            headerStyle.Pressed.Texture = "Textures/windowHeadClick.dds";
            headerStyle.TextAlign = ContentAlignment.MiddleCenter;
            headerStyle.GridEnabled = true;
            headerStyle.Grid = new Margin(6);

            ControlStyle closeStyle = new ControlStyle();
            closeStyle.Texture = "Textures/closeBasic.dds";
            closeStyle.Hot.Texture = "Textures/closeOver.dds";
            closeStyle.Pressed.Texture = "Textures/closeClick.dds";
            closeStyle.TextAlign = ContentAlignment.MiddleCenter;
            closeStyle.GridEnabled = true;
            closeStyle.Grid = new Margin(6);

            //ItemIcons(ItemName.Cobalt);
            //ItemIcons(ItemName.AnimalSkin);
            //ItemIcons(ItemName.CobaltPowder);
            //ItemIcons(ItemName.CobaltSword);
            //ItemIcons(ItemName.DestroyerAxe);
            //ItemIcons(ItemName.Basalt);
            //ItemIcons(ItemName.BasaltPowder);
            //ItemIcons(ItemName.BasaltHammer);
            //ItemIcons(ItemName.BoneBoots);
            //ItemIcons(ItemName.BoneChest);
            //ItemIcons(ItemName.BoneGloves);
            //ItemIcons(ItemName.BoneHelm);
            //ItemIcons(ItemName.BoneLShoulder);
            //ItemIcons(ItemName.BoneRShoulder);
            //ItemIcons(ItemName.Bow);
            //ItemIcons(ItemName.Carbon);
            //ItemIcons(ItemName.EmptyArmor);
            //ItemIcons(ItemName.EmptyBoots);
            //ItemIcons(ItemName.EmptyGloves);
            //ItemIcons(ItemName.EmptyHelmet);
            //ItemIcons(ItemName.EmptyShield);
            //ItemIcons(ItemName.EmptyWeapon);
            //ItemIcons(ItemName.EmptyLShoulder);
            //ItemIcons(ItemName.EmptyRShoulder);
            //ItemIcons(ItemName.Glue);
            //ItemIcons(ItemName.Gold);
            //ItemIcons(ItemName.Hardener);
            //ItemIcons(ItemName.Iron);
            //ItemIcons(ItemName.IronOre);
            //ItemIcons(ItemName.Leather);
            //ItemIcons(ItemName.LizardmanShield);
            //ItemIcons(ItemName.Lubricant);
            //ItemIcons(ItemName.Mithrill);
            //ItemIcons(ItemName.MithrillOre);
            //ItemIcons(ItemName.Shield);
            //ItemIcons(ItemName.SlayerEdge);
            //ItemIcons(ItemName.SmallHealingPotion);
            //ItemIcons(ItemName.SmallManaPotion);
            //ItemIcons(ItemName.Steel);
            //ItemIcons(ItemName.Sword);
            //ItemIcons(ItemName.TalonShield);
            //ItemIcons(ItemName.Textile);
            //ItemIcons(ItemName.Thread);
            //ItemIcons(ItemName.HomunculusRobe);
            //ItemIcons(ItemName.HomunculusGloves);
            //ItemIcons(ItemName.HomunculusBoots);
            //ItemIcons(ItemName.MagicSword);
            //ItemIcons(SkillName.Hurricane.ToString());
            //ItemIcons(SkillName.TameBeast.ToString());
            //ItemIcons(SkillName.ServitorHeal.ToString());
            //ItemIcons(ItemName.ScaledLeatherHelmet);
            //ItemIcons(ItemName.ScaledLeatherGloves);
            //ItemIcons(ItemName.ScaledLeatherBoots);
            //ItemIcons(ItemName.ScaledLeatherArmor);

            //ItemIconsPNG(ItemName.PlateArmor);
            //ItemIconsPNG(ItemName.PlateBoots);
            //ItemIconsPNG(ItemName.PlateGloves);
            //ItemIconsPNG(ItemName.HeavyPlateArmor);
            //ItemIconsPNG(ItemName.HeavyPlateBoots);
            //ItemIconsPNG(ItemName.HeavyPlateGloves);

            //ItemIconsPNG(ItemName.BeetleShield);
            //ItemIconsPNG(ItemName.WoodenShield);
            //ItemIconsPNG(ItemName.BrokenShield);

            //ItemIconsPNG(ItemName.BoneBoots);
            //ItemIconsPNG(ItemName.BoneArmor);
            //ItemIconsPNG(ItemName.BoneGloves);
            //ItemIconsPNG(ItemName.BoneHelm);

            //ItemIcons("slot");

            ItemIcons("tooltipBG");
            //ItemIcons("SkillCastingProgressBar");
            //ItemIcons("SkillCastingLine");
            //ItemIcons("tooltipBG");
            //ItemIcons(SkillName.BasicHit.ToString());
            //ItemIconsPNG(SkillName.SelfHeal.ToString());

            //ControlStyle infoTextArea = new ControlStyle();
            //infoTextArea.Texture = "Textures/infoTextArea_def.dds";
            //infoTextArea.Hot.Texture = "Textures/infoTextArea_focused.dds";
            //infoTextArea.Focused.Texture = "Textures/infoTextArea_focused.dds";
            //infoTextArea.TextPadding = new Margin(8);
            //infoTextArea.GridEnabled = true;
            //infoTextArea.Grid = new Margin(6);
            //GUI.AddStyle("infoTextArea", infoTextArea);

            //CreateCreatureIconStyleDDS(CreaturesIDName.Dwarf);
            //CreateCreatureIconStyleDDS(CreaturesIDName.DwarfChief);
            //CreateCreatureIconStyleDDS(CreaturesIDName.EarthElemental);
            //CreateCreatureIconStyleDDS(CreaturesIDName.Troll);

            //CreateCreatureIconStylePNG(CreaturesIDName.GoblinWarrior);

            //ItemIcons("Map/MapTexture");

            //LabelStyles("blackFont");
            //LabelStyles("blackFontLeft");

            //ControlStyle blackFontLeft = new ControlStyle();
            //blackFontLeft.TextAlign = ContentAlignment.TopLeft;
            //blackFontLeft.TextColor = Game.Globals.Colorkey(MTV3D65.CONST_TV_COLORKEY.TV_COLORKEY_BLACK); //Game.Globals.RGBA(255, 255, 255, 0);
            //GUI.AddStyle("blackFontLeft", blackFontLeft);

            //Font font = new Font();
            //font.Family = "Fonts/abaddon.TTF";
            //font.Name = "abaddon";
            //font.International = true;
            //font.Size = 14;

            //ControlStyle helpWinText = new ControlStyle();
            //helpWinText.TextAlign = ContentAlignment.MiddleCenter;
            //helpWinText.TextColor = Game.Globals.RGBA(255, 255, 255, 1);
            ////helpWinText.Font = "Abaddon™";
            ////helpWinText.Font = "abaddon";
            ////helpWinText.Font = "abaddon";
            //GUI.AddStyle("helpWinText", helpWinText);

            GUI.AddStyle("item", itemStyle);
            GUI.AddStyle("textbox", inputStyle);
            GUI.AddStyle("button", buttonStyle);
            GUI.AddStyle("frame", frameStyle);
            GUI.AddStyle("frame2", frame2Style);
            GUI.AddStyle("checkBox", checkButtonStyle);
            GUI.AddStyle("comboLabel", comboLabelStyle);
            GUI.AddStyle("comboButton", comboButtonStyle);
            GUI.AddStyle("scrollTrack", vscrollTrackStyle);
            GUI.AddStyle("scrollButton", vscrollButtonStyle);
            GUI.AddStyle("scrollUp", vscrollUp);
            GUI.AddStyle("scrollDown", vscrollDown);
            GUI.AddStyle("hscrollTrack", hscrollTrackStyle);
            GUI.AddStyle("hscrollButton", hscrollButtonStyle);
            GUI.AddStyle("hscrollUp", hscrollUp);
            GUI.AddStyle("header", headerStyle);
            GUI.AddStyle("close", closeStyle);
            //GUI.AddStyle(SkillName.IncMaxHp.ToString(), IncMaxHpTexture);
            //GUI.AddStyle(SkillName.IncPAttk.ToString(), IncPAttkTexture);
            //GUI.AddStyle(SkillName.IncPdef.ToString(), IncPdefTexture);
            //GUI.AddStyle(SkillName.ServitorHeal.ToString(), ServitorHealTexture);
            //GUI.AddStyle(SkillName.SummonWolf.ToString(), SummWolf);
            //GUI.AddStyle(SkillName.EmptySkill.ToString(), NoneSkillText);
            //GUI.AddStyle(SkillName.Hurricane.ToString(), HurricaneTexture);

            #endregion
        }
Exemple #35
0
        public static Skin CreateSkin()
        {
            ControlStyle baseStyle = new ControlStyle();
            baseStyle.Tiling = TextureMode.Grid;
            baseStyle.Grid = new Margin(7);
            baseStyle.Texture = "button_default";
            baseStyle.Hot.Texture = "button_hot";
            baseStyle.Default.Texture = "button_default";
            baseStyle.Pressed.Texture = "button_down";
            baseStyle.Focused.Texture = "button_hot";
            baseStyle.SelectedPressed.Texture = "button_down";
            baseStyle.SelectedFocused.Texture = "button_hot";
            baseStyle.Selected.Texture = "button_hot";
            baseStyle.SelectedHot.Texture = "button_hot";
            baseStyle.CheckedPressed.Texture = "button_down";
            baseStyle.CheckedFocused.Texture = "button_down";
            baseStyle.Checked.Texture = "button_down";
            baseStyle.CheckedHot.Texture = "button_down";
            baseStyle.Font = "Black";
            baseStyle.TextColor = ColorInt.RGBA(0, 0, 0, 1);

            ControlStyle itemStyle = new ControlStyle(baseStyle);
            itemStyle.TextPadding = new Margin(2, 0, 0, 0);
            itemStyle.Grid = new Margin(3);
            itemStyle.Texture = "listbox_item";
            itemStyle.Hot.Texture = "listbox_item_hot";
            itemStyle.Focused.Texture = "listbox_item_hot";
            itemStyle.Selected.Texture = "listbox_item_selected";
            itemStyle.SelectedPressed.Texture = "listbox_item_selected_hot";
            itemStyle.SelectedFocused.Texture = "listbox_item_selected_hot";
            itemStyle.SelectedHot.Texture = "listbox_item_selected_hot";
            itemStyle.TextAlign = Alignment.MiddleLeft;

            ControlStyle buttonStyle = new ControlStyle(baseStyle);
            buttonStyle.TextPadding = new Margin(0);
            buttonStyle.TextAlign = Alignment.MiddleCenter;

            ControlStyle treeButtonStyle = new ControlStyle(baseStyle);
            treeButtonStyle.TextPadding = new Margin(0);
            treeButtonStyle.Grid = new Margin(0);
            treeButtonStyle.Texture = "treeview_button_plus";
            treeButtonStyle.Hot.Texture = "treeview_button_plus";
            treeButtonStyle.Default.Texture = "treeview_button_plus";
            treeButtonStyle.Pressed.Texture = "treeview_button_plus";
            treeButtonStyle.Focused.Texture = "treeview_button_plus";
            treeButtonStyle.SelectedPressed.Texture = "treeview_button_plus";
            treeButtonStyle.SelectedFocused.Texture = "treeview_button_plus";
            treeButtonStyle.Selected.Texture = "treeview_button_plus";
            treeButtonStyle.SelectedHot.Texture = "treeview_button_plus";
            treeButtonStyle.CheckedPressed.Texture = "treeview_button_minus";
            treeButtonStyle.CheckedFocused.Texture = "treeview_button_minus";
            treeButtonStyle.Checked.Texture = "treeview_button_minus";
            treeButtonStyle.CheckedHot.Texture = "treeview_button_minus";
            treeButtonStyle.TextAlign = Alignment.MiddleCenter;

            ControlStyle eyeButtonStyle = new ControlStyle(baseStyle);
            eyeButtonStyle.TextPadding = new Margin(0);
            eyeButtonStyle.Grid = new Margin(0);
            eyeButtonStyle.Texture = "eye_inactive";
            eyeButtonStyle.Hot.Texture = "eye_inactive";
            eyeButtonStyle.Default.Texture = "eye_inactive";
            eyeButtonStyle.Pressed.Texture = "eye_inactive";
            eyeButtonStyle.Focused.Texture = "eye_inactive";
            eyeButtonStyle.SelectedPressed.Texture = "eye_inactive";
            eyeButtonStyle.SelectedFocused.Texture = "eye_inactive";
            eyeButtonStyle.Selected.Texture = "eye_inactive";
            eyeButtonStyle.SelectedHot.Texture = "eye_inactive";

            eyeButtonStyle.CheckedPressed.Texture = "eye_active";
            eyeButtonStyle.CheckedFocused.Texture = "eye_active";
            eyeButtonStyle.Checked.Texture = "eye_active";
            eyeButtonStyle.CheckedHot.Texture = "eye_active";
            eyeButtonStyle.TextAlign = Alignment.MiddleCenter;

            ControlStyle saveButtonStyle = new ControlStyle();
            saveButtonStyle.Tiling = TextureMode.Grid;
            saveButtonStyle.Grid = new Margin(1);
            saveButtonStyle.Default.Texture = "save";
            saveButtonStyle.Hot.Texture = "save_hot";
            saveButtonStyle.Pressed.Texture = "save_down";
            saveButtonStyle.Focused.Texture = "save_hot";

            ControlStyle loadButtonStyle = new ControlStyle();
            loadButtonStyle.Tiling = TextureMode.Grid;
            loadButtonStyle.Grid = new Margin(1);
            loadButtonStyle.Default.Texture = "load";
            loadButtonStyle.Hot.Texture = "load_hot";
            loadButtonStyle.Pressed.Texture = "load_down";
            loadButtonStyle.Focused.Texture = "load_hot";

            ControlStyle tooltipStyle = new ControlStyle(buttonStyle);
            tooltipStyle.TextPadding = new Margin(8, 5, 5, 8);
            tooltipStyle.TextAlign = Alignment.TopLeft;
            tooltipStyle.Texture = "tooltip";
            tooltipStyle.Tiling = TextureMode.Grid;
            tooltipStyle.Grid = new Margin(8, 5, 5, 8);
            tooltipStyle.BackColor = ColorInt.RGBA(0, 0, 0, .9f);
            tooltipStyle.TextColor = ColorInt.RGBA(1, 1, 1, 1);
            tooltipStyle.Font = "White";

            ControlStyle inputStyle = new ControlStyle();
            inputStyle.Texture = "input";
            inputStyle.Hot.Texture = "input_hot";
            inputStyle.Focused.Texture = "input_hot";
            inputStyle.TextPadding = new Margin(8);
            inputStyle.Tiling = TextureMode.Grid;
            inputStyle.Focused.Tint = ColorInt.RGBA(0.5f, 1.0f, 0.5f, 1);
            inputStyle.Grid = new Margin(4,2,4,2);
            inputStyle.Font = "Black";
            inputStyle.TextColor = ColorInt.RGBA(0, 0, 0, 1);

            ControlStyle inputErrorStyle = new ControlStyle(inputStyle);
            inputErrorStyle.Focused.Tint = ColorInt.RGBA(1.0f, 0.5f, 0.5f, 1);

            ControlStyle windowStyle = new ControlStyle();
            windowStyle.Tiling = TextureMode.Grid;
            windowStyle.Grid = new Margin(8);
            windowStyle.Texture = "window.dds";
            windowStyle.BackColor = ColorInt.RGBA(0, 0, 0, .9f);

            ControlStyle frameStyle = new ControlStyle();
            frameStyle.Tiling = TextureMode.Grid;
            frameStyle.Grid = new Margin(2);
            frameStyle.Texture = "frame";
            frameStyle.TextPadding = new Margin(8);

            ControlStyle listBoxFrameStyle = new ControlStyle();
            listBoxFrameStyle.Tiling = TextureMode.Grid;
            listBoxFrameStyle.Grid = new Margin(4);
            listBoxFrameStyle.Texture = "listbox_frame";
            listBoxFrameStyle.TextPadding = new Margin(4);

            ControlStyle vscrollTrackStyle = new ControlStyle();
            vscrollTrackStyle.Tiling = TextureMode.Grid;
            vscrollTrackStyle.Grid = new Margin(6, 7, 6, 7);
            vscrollTrackStyle.Texture = "vscroll_track";

            ControlStyle vscrollButtonStyle = new ControlStyle();
            vscrollButtonStyle.Tiling = TextureMode.Grid;
            vscrollButtonStyle.Grid = new Margin(6);
            vscrollButtonStyle.Texture = "vscroll_button";
            vscrollButtonStyle.Hot.Texture = "vscroll_button_hot";
            vscrollButtonStyle.Pressed.Texture = "vscroll_button_down";

            ControlStyle vscrollUp = new ControlStyle();
            vscrollUp.Default.Texture = "vscrollUp_default.dds";
            vscrollUp.Hot.Texture = "vscrollUp_hot.dds";
            vscrollUp.Pressed.Texture = "vscrollUp_down.dds";
            vscrollUp.Focused.Texture = "vscrollUp_hot.dds";

            ControlStyle hscrollTrackStyle = new ControlStyle();
            hscrollTrackStyle.Tiling = TextureMode.Grid;
            hscrollTrackStyle.Grid = new Margin(3);
            hscrollTrackStyle.Texture = "hscroll_track.dds";

            ControlStyle hscrollButtonStyle = new ControlStyle();
            hscrollButtonStyle.Tiling = TextureMode.Grid;
            hscrollButtonStyle.Grid = new Margin(3);
            hscrollButtonStyle.Texture = "hscroll_button.dds";
            hscrollButtonStyle.Hot.Texture = "hscroll_button_hot.dds";
            hscrollButtonStyle.Pressed.Texture = "hscroll_button_down.dds";

            ControlStyle hscrollUp = new ControlStyle();
            hscrollUp.Default.Texture = "hscrollUp_default.dds";
            hscrollUp.Hot.Texture = "hscrollUp_hot.dds";
            hscrollUp.Pressed.Texture = "hscrollUp_down.dds";
            hscrollUp.Focused.Texture = "hscrollUp_hot.dds";

            ControlStyle checkButtonStyle = new ControlStyle();
            checkButtonStyle.Tiling = TextureMode.Grid;
            checkButtonStyle.Grid = new Margin(3);
            checkButtonStyle.Default.Texture = "checkbox";
            checkButtonStyle.Hot.Texture = "checkbox_hot";
            checkButtonStyle.Pressed.Texture = "checkbox";
            checkButtonStyle.Checked.Texture = "checkbox_checked";
            checkButtonStyle.CheckedFocused.Texture = "checkbox_checked_hot";
            checkButtonStyle.CheckedHot.Texture = "checkbox_checked_hot";
            checkButtonStyle.CheckedPressed.Texture = "checkbox_checked";

            #region Splitter

            ControlStyle vSplitterStyle = new ControlStyle(baseStyle);
            vSplitterStyle.TextPadding = new Margin(0);
            vSplitterStyle.Grid = new Margin(1, 0, 1, 0);
            vSplitterStyle.Texture = "vsplitter";
            vSplitterStyle.Hot.Texture = "vsplitter_hot";
            vSplitterStyle.Default.Texture = "vsplitter";
            vSplitterStyle.Pressed.Texture = "vsplitter_down";
            vSplitterStyle.Focused.Texture = "vsplitter_hot";
            vSplitterStyle.SelectedPressed.Texture = "vsplitter_down";
            vSplitterStyle.SelectedFocused.Texture = "vsplitter_hot";
            vSplitterStyle.Selected.Texture = "vsplitter_hot";
            vSplitterStyle.SelectedHot.Texture = "vsplitter_hot";
            vSplitterStyle.CheckedPressed.Texture = "vsplitter_down";
            vSplitterStyle.CheckedFocused.Texture = "vsplitter_down";
            vSplitterStyle.Checked.Texture = "vsplitter_down";
            vSplitterStyle.CheckedHot.Texture = "vsplitter_down";

            ControlStyle hSplitterStyle = new ControlStyle(baseStyle);
            hSplitterStyle.TextPadding = new Margin(0);
            hSplitterStyle.Grid = new Margin(1, 0, 1, 0);
            hSplitterStyle.Texture = "hsplitter";
            hSplitterStyle.Hot.Texture = "hsplitter_hot";
            hSplitterStyle.Default.Texture = "hsplitter";
            hSplitterStyle.Pressed.Texture = "hsplitter_down";
            hSplitterStyle.Focused.Texture = "hsplitter_hot";
            hSplitterStyle.SelectedPressed.Texture = "hsplitter_down";
            hSplitterStyle.SelectedFocused.Texture = "hsplitter_hot";
            hSplitterStyle.Selected.Texture = "hsplitter_hot";
            hSplitterStyle.SelectedHot.Texture = "hsplitter_hot";
            hSplitterStyle.CheckedPressed.Texture = "hsplitter_down";
            hSplitterStyle.CheckedFocused.Texture = "hsplitter_down";
            hSplitterStyle.Checked.Texture = "hsplitter_down";
            hSplitterStyle.CheckedHot.Texture = "hsplitter_down";

            #endregion

            #region ComboBox

            ControlStyle combopListBoxFrameStyle = new ControlStyle();
            combopListBoxFrameStyle.Tiling = TextureMode.Grid;
            combopListBoxFrameStyle.Grid = new Margin(4);
            combopListBoxFrameStyle.Texture = "combo_lisbox_frame";
            combopListBoxFrameStyle.TextPadding = new Margin(4);

            ControlStyle comboItemStyle = new ControlStyle();
            comboItemStyle.Tiling = TextureMode.Grid;
            comboItemStyle.Grid = new Margin(7);
            comboItemStyle.TextPadding = new Margin(18, 0, 0, 0);
            comboItemStyle.Texture = "listbox_item";
            comboItemStyle.Hot.Texture = "listbox_item_hot";
            comboItemStyle.Focused.Texture = "listbox_item_hot";
            comboItemStyle.Selected.Texture = "listbox_item_selected";
            comboItemStyle.SelectedPressed.Texture = "listbox_item_selected_hot";
            comboItemStyle.SelectedFocused.Texture = "listbox_item_selected_hot";
            comboItemStyle.SelectedHot.Texture = "listbox_item_selected_hot";
            comboItemStyle.Font = "White";
            comboItemStyle.TextColor = ColorInt.RGBA(1, 1, 1, 1);

            ControlStyle comboItemNoImageStyle = new ControlStyle();
            comboItemNoImageStyle.Tiling = TextureMode.Grid;
            comboItemNoImageStyle.Grid = new Margin(7);
            comboItemNoImageStyle.TextPadding = new Margin(2, 0, 0, 0);
            comboItemNoImageStyle.Texture = "listbox_item";
            comboItemNoImageStyle.Hot.Texture = "listbox_item_hot";
            comboItemNoImageStyle.Focused.Texture = "listbox_item_hot";
            comboItemNoImageStyle.Selected.Texture = "listbox_item_selected";
            comboItemNoImageStyle.SelectedPressed.Texture = "listbox_item_selected_hot";
            comboItemNoImageStyle.SelectedFocused.Texture = "listbox_item_selected_hot";
            comboItemNoImageStyle.SelectedHot.Texture = "listbox_item_selected_hot";
            comboItemNoImageStyle.Font = "White";
            comboItemNoImageStyle.TextColor = ColorInt.RGBA(1, 1, 1, 1);

            ControlStyle comboLabelStyle = new ControlStyle();
            comboLabelStyle.TextPadding = new Margin(5, 0, 0, 0);
            comboLabelStyle.Default.Texture = "combo";
            comboLabelStyle.Hot.Texture = "combo_hot";
            comboLabelStyle.Pressed.Texture = "combo";
            comboLabelStyle.Focused.Texture = "combo";
            comboLabelStyle.Tiling = TextureMode.Grid;
            comboLabelStyle.Grid = new Margin(4, 0, 0, 0);
            comboLabelStyle.Font = "White";
            comboLabelStyle.TextColor = ColorInt.RGBA(1, 1, 1, 1);

            ControlStyle comboButtonStyle = new ControlStyle();
            comboButtonStyle.Tiling = TextureMode.Grid;
            comboButtonStyle.Grid = new Margin(1);
            comboButtonStyle.Default.Texture = "combo_button";
            comboButtonStyle.Hot.Texture = "combo_button_hot";
            comboButtonStyle.Pressed.Texture = "combo_button_down";
            comboButtonStyle.Focused.Texture = "combo_button_hot";

            ControlStyle comboButtonPlusStyle = new ControlStyle();
            comboButtonPlusStyle.Tiling = TextureMode.Grid;
            comboButtonPlusStyle.Grid = new Margin(1);
            comboButtonPlusStyle.Default.Texture = "combo_plus";
            comboButtonPlusStyle.Hot.Texture = "combo_plus_hot";
            comboButtonPlusStyle.Pressed.Texture = "combo_plus_down";
            comboButtonPlusStyle.Focused.Texture = "combo_plus_hot";
            comboButtonPlusStyle.Disabled.Texture = "combo_plus";
            comboButtonPlusStyle.Disabled.Opacity = 0.5f;

            ControlStyle comboButtonMinusStyle = new ControlStyle();
            comboButtonMinusStyle.Tiling = TextureMode.Grid;
            comboButtonMinusStyle.Grid = new Margin(1);
            comboButtonMinusStyle.Default.Texture = "combo_minus";
            comboButtonMinusStyle.Hot.Texture = "combo_minus_hot";
            comboButtonMinusStyle.Pressed.Texture = "combo_minus_down";
            comboButtonMinusStyle.Focused.Texture = "combo_minus_hot";
            comboButtonMinusStyle.Disabled.Texture = "combo_minus";
            comboButtonMinusStyle.Disabled.Opacity = 0.5f;

            ControlStyle flatComboButtonStyle = new ControlStyle();
            flatComboButtonStyle.Tiling = TextureMode.Grid;
            flatComboButtonStyle.Grid = new Margin(1);
            flatComboButtonStyle.Default.Texture = "flat_combo_button";
            flatComboButtonStyle.Hot.Texture = "flat_combo_button_hot";
            flatComboButtonStyle.Pressed.Texture = "flat_combo_button_down";
            flatComboButtonStyle.Focused.Texture = "flat_combo_button_hot";

            #endregion

            ControlStyle borderStyle = new ControlStyle();
            borderStyle.Default.Texture = "border_default";
            borderStyle.Hot.Texture = "border_hot";
            borderStyle.Pressed.Texture = "border_down";
            borderStyle.Tiling = TextureMode.Grid;
            borderStyle.Grid = new Margin(2);

            ControlStyle labelStyle = new ControlStyle();
            labelStyle.TextAlign = Alignment.TopLeft;
            labelStyle.TextPadding = new Margin(2);
            labelStyle.Font = "White";
            labelStyle.TextColor = ColorInt.RGBA(1, 1, 1, 1);

            ControlStyle handleNW = new ControlStyle();
            handleNW.Texture = "handleNW.dds";

            ControlStyle handleNE = new ControlStyle();
            handleNE.Texture = "handleNE.dds";

            ControlStyle categoryStyle = new ControlStyle();
            categoryStyle.TextColor = ColorInt.RGBA(243.0f / 255.0f, 161.0f / 255.0f, 56.0f / 255.0f, 1);
            categoryStyle.Font = "White";

            Skin skin = new Squid.Skin();

            skin.Styles.Add("item", itemStyle);
            skin.Styles.Add("textbox", inputStyle);
            skin.Styles.Add("textboxError", inputErrorStyle);
            skin.Styles.Add("button", buttonStyle);
            skin.Styles.Add("treeButton", treeButtonStyle);
            skin.Styles.Add("eyeButton", eyeButtonStyle);
            skin.Styles.Add("save", saveButtonStyle);
            skin.Styles.Add("load", loadButtonStyle);
            skin.Styles.Add("window", windowStyle);
            skin.Styles.Add("frame", frameStyle);
            skin.Styles.Add("listboxFrame", listBoxFrameStyle);
            skin.Styles.Add("checkBox", checkButtonStyle);
            skin.Styles.Add("hsplitter", hSplitterStyle);
            skin.Styles.Add("vsplitter", vSplitterStyle);
            skin.Styles.Add("comboItem", comboItemStyle);
            skin.Styles.Add("comboItemNoImage", comboItemNoImageStyle);
            skin.Styles.Add("comboLabel", comboLabelStyle);
            skin.Styles.Add("comboButton", comboButtonStyle);
            skin.Styles.Add("comboPlusButton", comboButtonPlusStyle);
            skin.Styles.Add("comboMinusButton", comboButtonMinusStyle);
            skin.Styles.Add("commboListboxFrame", combopListBoxFrameStyle);
            skin.Styles.Add("flatComboButton", flatComboButtonStyle);
            skin.Styles.Add("vscrollTrack", vscrollTrackStyle);
            skin.Styles.Add("vscrollButton", vscrollButtonStyle);
            skin.Styles.Add("vscrollUp", vscrollUp);
            skin.Styles.Add("hscrollTrack", hscrollTrackStyle);
            skin.Styles.Add("hscrollButton", hscrollButtonStyle);
            skin.Styles.Add("hscrollUp", hscrollUp);
            skin.Styles.Add("multiline", labelStyle);
            skin.Styles.Add("tooltip", tooltipStyle);
            skin.Styles.Add("border", borderStyle);
            skin.Styles.Add("handleNE", handleNE);
            skin.Styles.Add("handleNW", handleNW);
            skin.Styles.Add("category", categoryStyle);

            return skin;
        }
Exemple #36
0
        public SampleDesktop()
        {
            #region cursors

            Point cursorSize = new Point(32, 32);
            Point halfSize = cursorSize / 2;

            AddCursor(Cursors.Default, new Cursor { Texture = "cursors\\Arrow.png", Size = cursorSize, HotSpot = Point.Zero });
            AddCursor(Cursors.Link, new Cursor { Texture = "cursors\\Link.png", Size = cursorSize, HotSpot = Point.Zero });
            AddCursor(Cursors.Move, new Cursor { Texture = "cursors\\Move.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.Select, new Cursor { Texture = "cursors\\Select.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.SizeNS, new Cursor { Texture = "cursors\\SizeNS.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.SizeWE, new Cursor { Texture = "cursors\\SizeWE.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.HSplit, new Cursor { Texture = "cursors\\SizeNS.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.VSplit, new Cursor { Texture = "cursors\\SizeWE.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.SizeNESW, new Cursor { Texture = "cursors\\SizeNESW.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.SizeNWSE, new Cursor { Texture = "cursors\\SizeNWSE.png", Size = cursorSize, HotSpot = halfSize });

            #endregion

            #region styles

            ControlStyle baseStyle = new ControlStyle();
            baseStyle.Tiling = TextureMode.Grid;
            baseStyle.Grid = new Margin(3);
            baseStyle.Texture = "button_hot.dds";
            baseStyle.Default.Texture = "button_default.dds";
            baseStyle.Pressed.Texture = "button_down.dds";
            baseStyle.SelectedPressed.Texture = "button_down.dds";
            baseStyle.Focused.Texture = "button_down.dds";
            baseStyle.SelectedFocused.Texture = "button_down.dds";
            baseStyle.Selected.Texture = "button_down.dds";
            baseStyle.SelectedHot.Texture = "button_down.dds";

            ControlStyle itemStyle = new ControlStyle(baseStyle);
            itemStyle.TextPadding = new Margin(10, 0, 0, 0);
            itemStyle.TextAlign = Alignment.MiddleLeft;

            ControlStyle buttonStyle = new ControlStyle(baseStyle);
            buttonStyle.TextPadding = new Margin(0);
            buttonStyle.TextAlign = Alignment.MiddleCenter;

            ControlStyle tooltipStyle = new ControlStyle(buttonStyle);
            tooltipStyle.TextPadding = new Margin(8);
            tooltipStyle.TextAlign = Alignment.TopLeft;

            ControlStyle inputStyle = new ControlStyle();
            inputStyle.Texture = "input_default.dds";
            inputStyle.Hot.Texture = "input_focused.dds";
            inputStyle.Focused.Texture = "input_focused.dds";
            inputStyle.TextPadding = new Margin(8);
            inputStyle.Tiling = TextureMode.Grid;
            inputStyle.Focused.Tint = ColorInt.RGBA(1, 0, 0, 1);
            inputStyle.Grid = new Margin(3);

            ControlStyle windowStyle = new ControlStyle();
            windowStyle.Tiling = TextureMode.Grid;
            windowStyle.Grid = new Margin(9);
            windowStyle.Texture = "window.dds";

            ControlStyle frameStyle = new ControlStyle();
            frameStyle.Tiling = TextureMode.Grid;
            frameStyle.Grid = new Margin(4);
            frameStyle.Texture = "frame.dds";
            frameStyle.TextPadding = new Margin(8);

            ControlStyle vscrollTrackStyle = new ControlStyle();
            vscrollTrackStyle.Tiling = TextureMode.Grid;
            vscrollTrackStyle.Grid = new Margin(3);
            vscrollTrackStyle.Texture = "vscroll_track.dds";

            ControlStyle vscrollButtonStyle = new ControlStyle();
            vscrollButtonStyle.Tiling = TextureMode.Grid;
            vscrollButtonStyle.Grid = new Margin(3);
            vscrollButtonStyle.Texture = "vscroll_button.dds";
            vscrollButtonStyle.Hot.Texture = "vscroll_button_hot.dds";
            vscrollButtonStyle.Pressed.Texture = "vscroll_button_down.dds";

            ControlStyle vscrollUp = new ControlStyle();
            vscrollUp.Default.Texture = "vscrollUp_default.dds";
            vscrollUp.Hot.Texture = "vscrollUp_hot.dds";
            vscrollUp.Pressed.Texture = "vscrollUp_down.dds";
            vscrollUp.Focused.Texture = "vscrollUp_hot.dds";

            ControlStyle hscrollTrackStyle = new ControlStyle();
            hscrollTrackStyle.Tiling = TextureMode.Grid;
            hscrollTrackStyle.Grid = new Margin(3);
            hscrollTrackStyle.Texture = "hscroll_track.dds";

            ControlStyle hscrollButtonStyle = new ControlStyle();
            hscrollButtonStyle.Tiling = TextureMode.Grid;
            hscrollButtonStyle.Grid = new Margin(3);
            hscrollButtonStyle.Texture = "hscroll_button.dds";
            hscrollButtonStyle.Hot.Texture = "hscroll_button_hot.dds";
            hscrollButtonStyle.Pressed.Texture = "hscroll_button_down.dds";

            ControlStyle hscrollUp = new ControlStyle();
            hscrollUp.Default.Texture = "hscrollUp_default.dds";
            hscrollUp.Hot.Texture = "hscrollUp_hot.dds";
            hscrollUp.Pressed.Texture = "hscrollUp_down.dds";
            hscrollUp.Focused.Texture = "hscrollUp_hot.dds";

            ControlStyle checkButtonStyle = new ControlStyle();
            checkButtonStyle.Default.Texture = "checkbox_default.dds";
            checkButtonStyle.Hot.Texture = "checkbox_hot.dds";
            checkButtonStyle.Pressed.Texture = "checkbox_down.dds";
            checkButtonStyle.Checked.Texture = "checkbox_checked.dds";
            checkButtonStyle.CheckedFocused.Texture = "checkbox_checked_hot.dds";
            checkButtonStyle.CheckedHot.Texture = "checkbox_checked_hot.dds";
            checkButtonStyle.CheckedPressed.Texture = "checkbox_down.dds";

            ControlStyle comboLabelStyle = new ControlStyle();
            comboLabelStyle.TextPadding = new Margin(10, 0, 0, 0);
            comboLabelStyle.Default.Texture = "combo_default.dds";
            comboLabelStyle.Hot.Texture = "combo_hot.dds";
            comboLabelStyle.Pressed.Texture = "combo_down.dds";
            comboLabelStyle.Focused.Texture = "combo_hot.dds";
            comboLabelStyle.Tiling = TextureMode.Grid;
            comboLabelStyle.Grid = new Margin(3, 0, 0, 0);

            ControlStyle comboButtonStyle = new ControlStyle();
            comboButtonStyle.Default.Texture = "combo_button_default.dds";
            comboButtonStyle.Hot.Texture = "combo_button_hot.dds";
            comboButtonStyle.Pressed.Texture = "combo_button_down.dds";
            comboButtonStyle.Focused.Texture = "combo_button_hot.dds";

            ControlStyle labelStyle = new ControlStyle();
            labelStyle.TextAlign = Alignment.TopLeft;
            labelStyle.TextPadding = new Margin(8);

            Skin skin = new Skin();

            skin.Styles.Add("item", itemStyle);
            skin.Styles.Add("textbox", inputStyle);
            skin.Styles.Add("button", buttonStyle);
            skin.Styles.Add("window", windowStyle);
            skin.Styles.Add("frame", frameStyle);
            skin.Styles.Add("checkBox", checkButtonStyle);
            skin.Styles.Add("comboLabel", comboLabelStyle);
            skin.Styles.Add("comboButton", comboButtonStyle);
            skin.Styles.Add("vscrollTrack", vscrollTrackStyle);
            skin.Styles.Add("vscrollButton", vscrollButtonStyle);
            skin.Styles.Add("vscrollUp", vscrollUp);
            skin.Styles.Add("hscrollTrack", hscrollTrackStyle);
            skin.Styles.Add("hscrollButton", hscrollButtonStyle);
            skin.Styles.Add("hscrollUp", hscrollUp);
            skin.Styles.Add("multiline", labelStyle);
            skin.Styles.Add("tooltip", tooltipStyle);

            GuiHost.SetSkin(skin);

            #endregion

            #region main

            TooltipControl = new SimpleTooltip();

            #region sample window 1 - Anchoring, DropDown, Modal Dialog

            SampleWindow window1 = new SampleWindow();
            window1.Size = new Squid.Point(440, 340);
            window1.Position = new Squid.Point(40, 40);
            window1.Titlebar.Text = "Anchoring, [color=ffffff00]DropDown, Modal Dialog[/color]";
            window1.Resizable = true;
            window1.Parent = this;

            Label label1 = new Label();
            label1.Text = "username:"******"textbox" };
            textbox1.Text = "username";
            textbox1.Size = new Squid.Point(222, 35);
            textbox1.Position = new Squid.Point(180, 100);
            textbox1.Style = "textbox";
            textbox1.Parent = window1;
            textbox1.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;

            Label label2 = new Label();
            label2.Text = "password:"******"textbox" };
            textbox2.PasswordChar = char.Parse("*");
            textbox2.IsPassword = true;
            textbox2.Text = "password";
            textbox2.Size = new Squid.Point(222, 35);
            textbox2.Position = new Squid.Point(180, 140);
            textbox2.Style = "textbox";
            textbox2.Parent = window1;
            textbox2.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;

            Button button = new Button();
            button.Size = new Squid.Point(157, 35);
            button.Position = new Squid.Point(437 - 192, 346 - 52);
            button.Text = "login";
            button.Style = "button";
            button.Parent = window1;
            button.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
            button.Cursor = Cursors.Link;
            button.MouseClick += button_OnMouseClick;

            DropDownList combo = new DropDownList();
            combo.Size = new Squid.Point(222, 35);
            combo.Position = new Squid.Point(180, 180);
            combo.Parent = window1;
            combo.Label.Style = "comboLabel";
            combo.Button.Style = "comboButton";
            combo.Listbox.Margin = new Margin(0, 6, 0, 0);
            combo.Listbox.Style = "frame";
            combo.Listbox.ClipFrame.Margin = new Margin(8, 8, 8, 8);
            combo.Listbox.Scrollbar.Margin = new Margin(0, 4, 4, 4);
            combo.Listbox.Scrollbar.Size = new Squid.Point(14, 10);
            combo.Listbox.Scrollbar.ButtonUp.Style = "vscrollUp";
            combo.Listbox.Scrollbar.ButtonUp.Size = new Squid.Point(10, 20);
            combo.Listbox.Scrollbar.ButtonDown.Style = "vscrollUp";
            combo.Listbox.Scrollbar.ButtonDown.Size = new Squid.Point(10, 20);
            combo.Listbox.Scrollbar.Slider.Margin = new Margin(0, 2, 0, 2);
            combo.Listbox.Scrollbar.Slider.Style = "vscrollTrack";
            combo.Listbox.Scrollbar.Slider.Button.Style = "vscrollButton";
            combo.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right;

            for (int i = 0; i < 10; i++)
            {
                ListBoxItem item = new ListBoxItem();
                item.Text = "listboxitem";
                item.Size = new Squid.Point(100, 35);
                item.Margin = new Margin(0, 0, 0, 4);
                item.Style = "item";

                //if (i == 3)
                //    item.Selected = true;

                combo.Items.Add(item);

                // if (i == 3)
                //     combo.SelectedItem = item;
                if (i == 3)
                    item.Selected = true;
            }

            CheckBox box = new CheckBox();
            box.Size = new Squid.Point(157, 26);
            box.Position = new Squid.Point(180, 220);
            box.Text = "remember me";
            box.Parent = window1;
            box.Button.Style = "checkBox";
            box.Button.Size = new Squid.Point(26, 26);
            box.Button.Cursor = Cursors.Link;

            #endregion

            #region sample window 2 - SplitContainer, TreeView, ListBox

            SampleWindow window2 = new SampleWindow();
            window2.Size = new Squid.Point(440, 340);
            window2.Position = new Squid.Point(500, 40);
            window2.Titlebar.Text = "SplitContainer, TreeView, ListBox";
            window2.Resizable = true;
            window2.Parent = this;

            SplitContainer split = new SplitContainer();
            split.Dock = DockStyle.Fill;
            split.Parent = window2;
            split.SplitButton.Style = "button";
            split.SplitFrame1.Size = new Point(10, 10);
            split.SplitFrame2.Size = new Point(30, 10);

            Squid.Panel pnl = new Squid.Panel();
            pnl.Dock = Squid.DockStyle.Fill;
            pnl.ClipFrame.Margin = new Squid.Margin(8);
            pnl.ClipFrame.Style = "textbox";

            pnl.VScroll.Margin = new Squid.Margin(0, 8, 8, 8);
            pnl.VScroll.Size = new Squid.Point(14, 10);
            pnl.VScroll.Slider.Style = "vscrollTrack";
            pnl.VScroll.Slider.Button.Style = "vscrollButton";
            pnl.VScroll.ButtonUp.Style = "vscrollUp";
            pnl.VScroll.ButtonUp.Size = new Squid.Point(10, 20);
            pnl.VScroll.ButtonDown.Style = "vscrollUp";
            pnl.VScroll.ButtonDown.Size = new Squid.Point(10, 20);
            pnl.VScroll.Slider.Margin = new Squid.Margin(0, 2, 0, 2);
            pnl.Parent = split.SplitFrame2;

            ListBox listbox1 = new ListBox();
            listbox1.Dock = DockStyle.Fill;
            listbox1.Size = new Squid.Point(200, 290);
            listbox1.Style = "frame";
            listbox1.ClipFrame.Margin = new Margin(8, 8, 8, 8);
            listbox1.Scrollbar.Margin = new Margin(0, 8, 8, 8);
            listbox1.Scrollbar.Size = new Squid.Point(14, 10);
            listbox1.Scrollbar.Slider.Style = "vscrollTrack";
            listbox1.Scrollbar.Slider.Button.Style = "vscrollButton";
            listbox1.Scrollbar.ButtonUp.Style = "vscrollUp";
            listbox1.Scrollbar.ButtonUp.Size = new Squid.Point(10, 20);
            listbox1.Scrollbar.ButtonDown.Style = "vscrollUp";
            listbox1.Scrollbar.ButtonDown.Size = new Squid.Point(10, 20);
            listbox1.Scrollbar.Slider.Margin = new Margin(0, 2, 0, 2);
            listbox1.Parent = split.SplitFrame2;
            listbox1.Multiselect = true;
            listbox1.MaxSelected = 4;
            listbox1.Scrollbar.Steps = 30;

            for (int i = 0; i < 30; i++)
            {
                ListBoxItem item = new ListBoxItem();
                item.Text = "listboxitem";
                item.Size = new Squid.Point(100, 70);
                item.Margin = new Margin(0, 0, 0, 4);
                item.Style = "item";
                //item.AutoSize = AutoSize.Vertical;
                item.Tooltip = "This is a multine tooltip.\nThe second line begins here.\n[color=ff00ee55]The third line is even colored.[/color]";
                item.MouseEnter += item_OnMouseEnter;
                item.MouseLeave += item_OnMouseLeave;
                listbox1.Items.Add(item);
            }

            TreeView treeview = new TreeView();
            treeview.Size = new Squid.Point(200, 330);
            treeview.Dock = DockStyle.Fill;
            treeview.Style = "frame";
            treeview.Parent = split.SplitFrame1;
            treeview.ClipFrame.Margin = new Margin(8, 8, 8, 8);
            treeview.Scrollbar.Margin = new Margin(0, 8, 8, 8);
            treeview.Scrollbar.Size = new Squid.Point(14, 10);
            treeview.Scrollbar.Slider.Style = "vscrollTrack";
            treeview.Scrollbar.Slider.Button.Style = "vscrollButton";
            treeview.Scrollbar.ButtonUp.Style = "vscrollUp";
            treeview.Scrollbar.ButtonUp.Size = new Squid.Point(10, 20);
            treeview.Scrollbar.ButtonDown.Style = "vscrollUp";
            treeview.Scrollbar.ButtonDown.Size = new Squid.Point(10, 20);
            treeview.Scrollbar.Slider.Margin = new Margin(0, 2, 0, 2);
            treeview.Indent = 10;

            for (int i = 0; i < 30; i++)
            {
                TreeNodeLabel node = new TreeNodeLabel();
                node.Button.Style = "item";
                node.Label.Text = "node level 1";
                node.Size = new Squid.Point(100, 35);
                //node.Margin = new Margin(0, 0, 0, 4);
                node.Style = "item";
                node.Tooltip = node.Label.Text;
                treeview.Nodes.Add(node);

                for (int i2 = 0; i2 < 3; i2++)
                {
                    TreeNodeLabel sub1 = new TreeNodeLabel();
                    sub1.Button.Style = "item";
                    sub1.Label.Text = "node level 2";
                    sub1.Size = new Squid.Point(100, 35);
                    //sub1.Margin = new Margin(8, 0, 0, 4);
                    sub1.Style = "item";
                    sub1.Tooltip = sub1.Label.Text;
                    node.Nodes.Add(sub1);

                    for (int i3 = 0; i3 < 3; i3++)
                    {
                        TreeNodeLabel sub2 = new TreeNodeLabel();
                        sub2.Button.Style = "item";
                        sub2.Label.Text = "node level 3";
                        sub2.Size = new Squid.Point(100, 35);
                        //sub2.Margin = new Margin(16, 0, 0, 4);
                        sub2.Style = "item";
                        sub2.Tooltip = sub2.Label.Text;
                        sub1.Nodes.Add(sub2);
                    }
                }
            }

            #endregion

            #region sample window 3 - Custom Control (Inheritance)

            SampleWindow window3 = new SampleWindow();
            window3.Size = new Point(440, 340);
            window3.Position = new Point(40, 400);
            window3.Resizable = true;
            window3.Titlebar.Text = "Custom Control (Inheritance)";
            window3.Parent = this;

            ChatBox chatbox = new ChatBox();
            chatbox.Dock = DockStyle.Fill;
            window3.Controls.Add(chatbox);

            chatbox.Style = "frame";
            chatbox.Input.Style = "textbox";
            chatbox.Input.Margin = new Margin(8, 0, 8, 8);
            chatbox.Output.Margin = new Margin(8, 8, 8, 8);
            chatbox.Scrollbar.Margin = new Margin(0, 8, 8, 8);
            chatbox.Scrollbar.Size = new Squid.Point(14, 10);
            chatbox.Scrollbar.Slider.Style = "vscrollTrack";
            chatbox.Scrollbar.Slider.Button.Style = "vscrollButton";
            chatbox.Scrollbar.ButtonUp.Style = "vscrollUp";
            chatbox.Scrollbar.ButtonUp.Size = new Squid.Point(10, 20);
            chatbox.Scrollbar.ButtonDown.Style = "vscrollUp";
            chatbox.Scrollbar.ButtonDown.Size = new Squid.Point(10, 20);
            chatbox.Scrollbar.Slider.Margin = new Margin(0, 2, 0, 2);

            #endregion

            #region sample window 4 - TabControl, TextAlign

            SampleWindow window4 = new SampleWindow();
            window4.Size = new Point(440, 340);
            window4.Position = new Point(500, 400);
            window4.Resizable = true;
            window4.Titlebar.Text = "TabControl, TextAlign";
            window4.Parent = this;

            TabControl tabcontrol = new TabControl();
            tabcontrol.Dock = DockStyle.Fill;
            tabcontrol.Parent = window4;

            for (int i = 0; i < 6; i++)
            {
                TabPage tabPage = new TabPage();
                tabPage.Style = "frame";
                tabPage.Margin = new Margin(0, -1, 0, 0);
                tabPage.Button.Style = "button";
                tabPage.Button.Text = "page" + i;
                tabPage.Button.Tooltip = "Click to change active tab";
                tabPage.Button.Margin = new Margin(0, 0, -1, 0);
                tabcontrol.TabPages.Add(tabPage);

                Label lbl = new Label();
                lbl.Dock = DockStyle.Fill;
                lbl.Parent = tabPage;
                lbl.TextWrap = true;
                lbl.Text = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam\r\n nonumy eirmod tempor invidunt ut labore [color=ff0088ff][url=testurl]click \r\n meh![/url][/color] et dolore magna aliquyam erat, sed diam voluptua.\r\n At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.";
                lbl.Style = "multiline";
                lbl.BBCodeEnabled = true;
                lbl.LinkClicked += lbl_OnLinkClicked;
            }

            #endregion

            #region sample window 5 - Panel, TextBox

            SampleWindow window5 = new SampleWindow();
            window5.Size = new Point(440, 340);
            window5.Position = new Point(960, 40);
            window5.Resizable = true;
            window5.Titlebar.Text = "Panel, TextBox";
            window5.Parent = this;

            Panel panel = new Panel();
            panel.Style = "frame";
            panel.Dock = DockStyle.Fill;
            panel.Parent = window5;

            panel.ClipFrame.Margin = new Margin(8);
            panel.ClipFrame.Style = "textbox";

            panel.VScroll.Margin = new Margin(0, 8, 8, 8);
            panel.VScroll.Size = new Squid.Point(14, 10);
            panel.VScroll.Slider.Style = "vscrollTrack";
            panel.VScroll.Slider.Button.Style = "vscrollButton";
            panel.VScroll.ButtonUp.Style = "vscrollUp";
            panel.VScroll.ButtonUp.Size = new Squid.Point(10, 20);
            panel.VScroll.ButtonDown.Style = "vscrollUp";
            panel.VScroll.ButtonDown.Size = new Squid.Point(10, 20);
            panel.VScroll.Slider.Margin = new Margin(0, 2, 0, 2);

            panel.HScroll.Margin = new Margin(8, 0, 8, 8);
            panel.HScroll.Size = new Squid.Point(10, 14);
            panel.HScroll.Slider.Style = "hscrollTrack";
            panel.HScroll.Slider.Button.Style = "hscrollButton";
            panel.HScroll.ButtonUp.Style = "hscrollUp";
            panel.HScroll.ButtonUp.Size = new Squid.Point(20, 10);
            panel.HScroll.ButtonDown.Style = "hscrollUp";
            panel.HScroll.ButtonDown.Size = new Squid.Point(20, 10);
            panel.HScroll.Slider.Margin = new Margin(2, 0, 2, 0);

            for (int i = 0; i < 10; i++)
            {
                Label label = new Label();
                label.Text = "label control:";
                label.Size = new Point(100, 35);
                label.Position = new Point(10, 10 + 45 * i);
                panel.Content.Controls.Add(label);

                TextBox txt = new TextBox();
                txt.Text = "lorem ipsum";
                txt.Size = new Squid.Point(222, 35);
                txt.Position = new Point(110, 10 + 45 * i);
                txt.Style = "textbox";
                txt.AllowDrop = true;
                txt.TabIndex = 1 + i;
                txt.DragDrop += txt_OnDragDrop;
                txt.GotFocus += txt_OnGotFocus;
                panel.Content.Controls.Add(txt);
            }

            #endregion

            #region sample window 6 - ListView

            SampleWindow window6 = new SampleWindow();
            window6.Size = new Point(440, 340);
            window6.Position = new Point(960, 400);
            window6.Resizable = true;
            window6.Titlebar.Text = "Misc";
            window6.Parent = this;

            Random rnd = new Random();
            List<MyData> models = new List<MyData>();
            for (int i = 0; i < 32; i++)
            {
                MyData data = new MyData();
                data.Name = rnd.Next().ToString();
                data.Date = DateTime.Now.AddMilliseconds(rnd.Next());
                data.Rating = rnd.Next();
                models.Add(data);
            }

            ListView olv = new ListView();
            olv.Dock = DockStyle.Fill;
            olv.Columns.Add(new ListView.Column { Text = "Name", Aspect = "Name", Width = 120 });
            olv.Columns.Add(new ListView.Column { Text = "Date", Aspect = "Date", Width = 120 });
            olv.Columns.Add(new ListView.Column { Text = "Rating", Aspect = "Rating", Width = 120 });
            olv.StretchLastColumn = false;
            olv.FullRowSelect = true;

            olv.CreateHeader = delegate(object sender, ListView.FormatHeaderEventArgs args)
            {
                Button header = new Button
                {
                    Dock = DockStyle.Fill,
                    Text = args.Column.Text,
                    AllowDrop = true
                };

                header.MouseClick += delegate(Control snd, MouseEventArgs e)
                {
                    if (args.Column.Aspect == "Name")
                        olv.Sort<MyData>((a, b) => a.Name.CompareTo(b.Name));
                    else if (args.Column.Aspect == "Date")
                        olv.Sort<MyData>((a, b) => a.Date.CompareTo(b.Date));
                    else if (args.Column.Aspect == "Rating")
                        olv.Sort<MyData>((a, b) => a.Rating.CompareTo(b.Rating));
                };

                header.MouseDrag += delegate(Control snd, MouseEventArgs e)
                {
                    Label drag = new Label();
                    drag.Size = snd.Size;
                    drag.Position = snd.Location;
                    drag.Style = snd.Style;
                    drag.Text = ((Button)snd).Text;

                    DoDragDrop(drag);
                };

                header.DragDrop += delegate(Control snd, DragDropEventArgs e)
                {

                };

                return header;
            };

            olv.CreateCell = delegate(object sender, ListView.FormatCellEventArgs args)
            {
                return new Button
                {
                    Size = new Point(28, 28),
                    Dock = DockStyle.Top,
                    Text = olv.GetAspectValue(args.Model, args.Column),
                    Tooltip = args.Column.Text
                };
            };

            olv.SetObjects(models);

            window6.Controls.Add(olv);

            #endregion

            #endregion
        }
Exemple #37
0
        void CreateSkin()
        {
            ControlStyle baseStyle = new ControlStyle();
            baseStyle.Tiling = TextureMode.Grid;
            baseStyle.Grid = new Margin(3);
            baseStyle.Texture = "button_default.dds";
            baseStyle.Hot.Texture = "button_hot.dds";
            baseStyle.Default.Texture = "button_default.dds";
            baseStyle.Pressed.Texture = "button_down.dds";
            baseStyle.Focused.Texture = "button_hot.dds";
            baseStyle.SelectedPressed.Texture = "button_down.dds";
            baseStyle.SelectedFocused.Texture = "button_hot.dds";
            baseStyle.Selected.Texture = "button_hot.dds";
            baseStyle.SelectedHot.Texture = "button_hot.dds";
            baseStyle.CheckedPressed.Texture = "button_down.dds";
            baseStyle.CheckedFocused.Texture = "button_down.dds";
            baseStyle.Checked.Texture = "button_down.dds";
            baseStyle.CheckedHot.Texture = "button_down.dds";

            ControlStyle itemStyle = new ControlStyle(baseStyle);
            itemStyle.TextPadding = new Margin(10, 0, 0, 0);
            itemStyle.TextAlign = Alignment.MiddleLeft;

            ControlStyle buttonStyle = new ControlStyle(baseStyle);
            buttonStyle.TextPadding = new Margin(0);
            buttonStyle.TextAlign = Alignment.MiddleCenter;

            ControlStyle tooltipStyle = new ControlStyle(buttonStyle);
            tooltipStyle.TextPadding = new Margin(8);
            tooltipStyle.TextAlign = Alignment.TopLeft;
            tooltipStyle.Texture = "border.dds";
            tooltipStyle.Tiling = TextureMode.Grid;
            tooltipStyle.Grid = new Margin(2);
            tooltipStyle.BackColor = ColorInt.RGBA(0, 0, 0, .9f);

            ControlStyle inputStyle = new ControlStyle();
            inputStyle.Texture = "input_default.dds";
            inputStyle.Hot.Texture = "input_focused.dds";
            inputStyle.Focused.Texture = "input_focused.dds";
            inputStyle.TextPadding = new Margin(8);
            inputStyle.Tiling = TextureMode.Grid;
            inputStyle.Focused.Tint = ColorInt.RGBA(1, 0, 0, 1);
            inputStyle.Grid = new Margin(3);

            ControlStyle windowStyle = new ControlStyle();
            windowStyle.Tiling = TextureMode.Grid;
            windowStyle.Grid = new Margin(8);
            windowStyle.Texture = "window.dds";
            windowStyle.BackColor = ColorInt.RGBA(0, 0, 0, .9f);

            ControlStyle frameStyle = new ControlStyle();
            frameStyle.Tiling = TextureMode.Grid;
            frameStyle.Grid = new Margin(2);
            frameStyle.Texture = "frame.dds";
            frameStyle.TextPadding = new Margin(8);

            ControlStyle vscrollTrackStyle = new ControlStyle();
            vscrollTrackStyle.Tiling = TextureMode.Grid;
            vscrollTrackStyle.Grid = new Margin(3);
            vscrollTrackStyle.Texture = "vscroll_track.dds";

            ControlStyle vscrollButtonStyle = new ControlStyle();
            vscrollButtonStyle.Tiling = TextureMode.Grid;
            vscrollButtonStyle.Grid = new Margin(4);
            vscrollButtonStyle.Texture = "vscroll_button.dds";
            vscrollButtonStyle.Hot.Texture = "vscroll_button_hot.dds";
            vscrollButtonStyle.Pressed.Texture = "vscroll_button_down.dds";

            ControlStyle vscrollUp = new ControlStyle();
            vscrollUp.Default.Texture = "vscrollUp_default.dds";
            vscrollUp.Hot.Texture = "vscrollUp_hot.dds";
            vscrollUp.Pressed.Texture = "vscrollUp_down.dds";
            vscrollUp.Focused.Texture = "vscrollUp_hot.dds";

            ControlStyle hscrollTrackStyle = new ControlStyle();
            hscrollTrackStyle.Tiling = TextureMode.Grid;
            hscrollTrackStyle.Grid = new Margin(3);
            hscrollTrackStyle.Texture = "hscroll_track.dds";

            ControlStyle hscrollButtonStyle = new ControlStyle();
            hscrollButtonStyle.Tiling = TextureMode.Grid;
            hscrollButtonStyle.Grid = new Margin(3);
            hscrollButtonStyle.Texture = "hscroll_button.dds";
            hscrollButtonStyle.Hot.Texture = "hscroll_button_hot.dds";
            hscrollButtonStyle.Pressed.Texture = "hscroll_button_down.dds";

            ControlStyle hscrollUp = new ControlStyle();
            hscrollUp.Default.Texture = "hscrollUp_default.dds";
            hscrollUp.Hot.Texture = "hscrollUp_hot.dds";
            hscrollUp.Pressed.Texture = "hscrollUp_down.dds";
            hscrollUp.Focused.Texture = "hscrollUp_hot.dds";

            ControlStyle checkButtonStyle = new ControlStyle();
            checkButtonStyle.Default.Texture = "checkbox_default.dds";
            checkButtonStyle.Hot.Texture = "checkbox_hot.dds";
            checkButtonStyle.Pressed.Texture = "checkbox_down.dds";
            checkButtonStyle.Checked.Texture = "checkbox_checked.dds";
            checkButtonStyle.CheckedFocused.Texture = "checkbox_checked_hot.dds";
            checkButtonStyle.CheckedHot.Texture = "checkbox_checked_hot.dds";
            checkButtonStyle.CheckedPressed.Texture = "checkbox_down.dds";

            ControlStyle comboLabelStyle = new ControlStyle();
            comboLabelStyle.TextPadding = new Margin(10, 0, 0, 0);
            comboLabelStyle.Default.Texture = "combo_default.dds";
            comboLabelStyle.Hot.Texture = "combo_hot.dds";
            comboLabelStyle.Pressed.Texture = "combo_down.dds";
            comboLabelStyle.Focused.Texture = "combo_hot.dds";
            comboLabelStyle.Tiling = TextureMode.Grid;
            comboLabelStyle.Grid = new Margin(3, 0, 0, 0);

            ControlStyle comboButtonStyle = new ControlStyle();
            comboButtonStyle.Default.Texture = "combo_button_default.dds";
            comboButtonStyle.Hot.Texture = "combo_button_hot.dds";
            comboButtonStyle.Pressed.Texture = "combo_button_down.dds";
            comboButtonStyle.Focused.Texture = "combo_button_hot.dds";

            ControlStyle borderStyle = new ControlStyle();
            borderStyle.Hot.Texture = "border.dds";
            borderStyle.Pressed.Texture = "border.dds";
            borderStyle.Tiling = TextureMode.Grid;
            borderStyle.Grid = new Margin(4);

            ControlStyle labelStyle = new ControlStyle();
            labelStyle.TextAlign = Alignment.TopLeft;
            labelStyle.TextPadding = new Margin(8);

            ControlStyle handleNW = new ControlStyle();
            handleNW.Texture = "handleNW.dds";

            ControlStyle handleNE = new ControlStyle();
            handleNE.Texture = "handleNE.dds";

            labelStyle.TextPadding = new Margin(8);

            Skin skin = new Squid.Skin();

            skin.Styles.Add("item", itemStyle);
            skin.Styles.Add("textbox", inputStyle);
            skin.Styles.Add("button", buttonStyle);
            skin.Styles.Add("window", windowStyle);
            skin.Styles.Add("frame", frameStyle);
            skin.Styles.Add("checkBox", checkButtonStyle);
            skin.Styles.Add("comboLabel", comboLabelStyle);
            skin.Styles.Add("comboButton", comboButtonStyle);
            skin.Styles.Add("vscrollTrack", vscrollTrackStyle);
            skin.Styles.Add("vscrollButton", vscrollButtonStyle);
            skin.Styles.Add("vscrollUp", vscrollUp);
            skin.Styles.Add("hscrollTrack", hscrollTrackStyle);
            skin.Styles.Add("hscrollButton", hscrollButtonStyle);
            skin.Styles.Add("hscrollUp", hscrollUp);
            skin.Styles.Add("multiline", labelStyle);
            skin.Styles.Add("tooltip", tooltipStyle);
            skin.Styles.Add("border", borderStyle);
            skin.Styles.Add("handleNE", handleNE);
            skin.Styles.Add("handleNW", handleNW);

            GuiHost.SetSkin(skin);
        }
        public override void ApplyStyle(ControlStyle ct)
        {
            base.ApplyStyle(ct);
            if (ct.ForeColor != ControlStyle.NullColor)
            {
                //label8.ForeColor = ct.ForeColor;
                ctlTitle1.ForeColor = ct.ForeColor;
                label9.ForeColor = ct.ForeColor;
                label10.ForeColor = ct.ForeColor;
                label11.ForeColor = ct.ForeColor;
                textMoveX.ValidColor = ct.ForeColor;
                textMoveY.ValidColor = ct.ForeColor;
                textMoveZ.ValidColor = ct.ForeColor;
            }
            if (ct.BackColor != ControlStyle.NullColor)
            {
                BackColor = ct.BackColor;
                flowLayoutPanel2.BackColor = ct.BackColor;
                textMoveX.BackColor = ct.BackColor;
                textMoveY.BackColor = ct.BackColor;
                textMoveZ.BackColor = ct.BackColor;
            }
            if (ct.FrameColor != ControlStyle.NullColor)
            {
                flowLayoutPanel1.BackColor = ct.FrameColor;
                flowLayoutPanel7.BackColor = ct.FrameColor;
                flowLayoutPanel8.BackColor = ct.FrameColor;
                flowLayoutPanel10.BackColor = ct.FrameColor;
            }

        }
        protected override void Initialize()
        {
            Reflector.RegisterAssemblies(System.Reflection.Assembly.GetAssembly(typeof(DoomWindow)));

            #region cursors

            Point cursorSize = new Point(32, 32);
            Point halfSize = cursorSize / 2;

            AddCursor(Cursors.Default, new Cursor { Texture = "squid\\cursors\\Arrow.png", Size = cursorSize, HotSpot = Point.Zero });
            AddCursor(Cursors.Link, new Cursor { Texture = "squid\\cursors\\Link.png", Size = cursorSize, HotSpot = Point.Zero });
            AddCursor(Cursors.Move, new Cursor { Texture = "squid\\cursors\\Move.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.Select, new Cursor { Texture = "squid\\cursors\\Select.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.SizeNS, new Cursor { Texture = "squid\\cursors\\SizeNS.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.SizeWE, new Cursor { Texture = "squid\\cursors\\SizeWE.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.HSplit, new Cursor { Texture = "squid\\cursors\\SizeNS.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.VSplit, new Cursor { Texture = "squid\\cursors\\SizeWE.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.SizeNESW, new Cursor { Texture = "squid\\cursors\\SizeNESW.png", Size = cursorSize, HotSpot = halfSize });
            AddCursor(Cursors.SizeNWSE, new Cursor { Texture = "squid\\cursors\\SizeNWSE.png", Size = cursorSize, HotSpot = halfSize });

            #endregion

            #region styles

            ControlStyle itemStyle = new ControlStyle();
            itemStyle.Tiling = TextureMode.Grid;
            itemStyle.Grid = new Margin(6);
            itemStyle.Texture = "squid\\button_hot.dds";
            itemStyle.Default.Texture = "squid\\button_default.dds";
            itemStyle.Pressed.Texture = "squid\\button_down.dds";
            itemStyle.SelectedPressed.Texture = "squid\\button_down.dds";
            itemStyle.Focused.Texture = "squid\\button_down.dds";
            itemStyle.SelectedFocused.Texture = "squid\\button_down.dds";
            itemStyle.Selected.Texture = "squid\\button_down.dds";
            itemStyle.SelectedHot.Texture = "squid\\button_down.dds";
            itemStyle.TextPadding = new Margin(10, 0, 10, 0);

            ControlStyle inputStyle = new ControlStyle();
            inputStyle.Texture = "squid\\input_default.dds";
            inputStyle.Hot.Texture = "squid\\input_focused.dds";
            inputStyle.Focused.Texture = "squid\\input_focused.dds";
            inputStyle.TextPadding = new Margin(8);
            inputStyle.Tiling = TextureMode.Grid;
            inputStyle.Focused.Tint = ColorInt.RGBA(1, 0, 0, 1);
            inputStyle.Grid = new Margin(6);

            ControlStyle buttonStyle = new ControlStyle();
            buttonStyle.Texture = "squid\\button_default.dds";
            buttonStyle.Hot.Texture = "squid\\button_hot.dds";
            buttonStyle.Focused.Texture = "squid\\button_hot.dds";
            buttonStyle.Pressed.Texture = "squid\\button_down.dds";
            buttonStyle.Checked.Texture = "squid\\button_down.dds";
            buttonStyle.CheckedHot.Texture = "squid\\button_down.dds";
            buttonStyle.TextAlign = Alignment.MiddleCenter;
            buttonStyle.Tiling = TextureMode.Grid;
            buttonStyle.Grid = new Margin(2);

            ControlStyle frameStyle = new ControlStyle();
            frameStyle.Tiling = TextureMode.GridRepeat;
            frameStyle.Grid = new Margin(8);
            frameStyle.Texture = "squid\\grid.dds";

            ControlStyle frameStyle2 = new ControlStyle();
            frameStyle2.CheckedHot.Tiling = TextureMode.Grid;
            frameStyle2.Tiling = TextureMode.Grid;
            frameStyle2.Grid = new Margin(8);
            frameStyle2.Texture = "squid\\grid2.dds";
            frameStyle2.TextPadding = new Margin(8);

            ControlStyle vscrollTrackStyle = new ControlStyle();
            vscrollTrackStyle.Tiling = TextureMode.Grid;
            vscrollTrackStyle.Grid = new Margin(0, 3, 0, 3);
            vscrollTrackStyle.Texture = "squid\\vscroll_track.dds";

            ControlStyle vscrollButtonStyle = new ControlStyle();
            vscrollButtonStyle.Tiling = TextureMode.Grid;
            vscrollButtonStyle.Grid = new Margin(0, 4, 0, 4);
            vscrollButtonStyle.Texture = "squid\\vscroll_button.dds";
            vscrollButtonStyle.Hot.Texture = "squid\\vscroll_button_hot.dds";
            vscrollButtonStyle.Pressed.Texture = "squid\\vscroll_button_down.dds";

            ControlStyle vscrollUp = new ControlStyle();
            vscrollUp.Default.Texture = "squid\\vscrollUp_default.dds";
            vscrollUp.Hot.Texture = "squid\\vscrollUp_hot.dds";
            vscrollUp.Pressed.Texture = "squid\\vscrollUp_down.dds";
            vscrollUp.Focused.Texture = "squid\\vscrollUp_hot.dds";

            ControlStyle hscrollTrackStyle = new ControlStyle();
            hscrollTrackStyle.Tiling = TextureMode.Grid;
            hscrollTrackStyle.Grid = new Margin(3, 0, 3, 0);
            hscrollTrackStyle.Texture = "squid\\hscroll_track.dds";

            ControlStyle hscrollButtonStyle = new ControlStyle();
            hscrollButtonStyle.Tiling = TextureMode.Grid;
            hscrollButtonStyle.Grid = new Margin(4, 0, 4, 0);
            hscrollButtonStyle.Texture = "squid\\hscroll_button.dds";
            hscrollButtonStyle.Hot.Texture = "squid\\hscroll_button_hot.dds";
            hscrollButtonStyle.Pressed.Texture = "squid\\hscroll_button_down.dds";

            ControlStyle hscrollUp = new ControlStyle();
            hscrollUp.Default.Texture = "squid\\hscrollUp_default.dds";
            hscrollUp.Hot.Texture = "squid\\hscrollUp_hot.dds";
            hscrollUp.Pressed.Texture = "squid\\hscrollUp_down.dds";
            hscrollUp.Focused.Texture = "squid\\hscrollUp_hot.dds";

            ControlStyle checkButtonStyle = new ControlStyle();
            checkButtonStyle.Default.Texture = "squid\\checkbox_default.dds";
            checkButtonStyle.Hot.Texture = "squid\\checkbox_hot.dds";
            checkButtonStyle.Pressed.Texture = "squid\\checkbox_down.dds";
            checkButtonStyle.Checked.Texture = "squid\\checkbox_checked.dds";
            checkButtonStyle.CheckedFocused.Texture = "squid\\checkbox_checked_hot.dds";
            checkButtonStyle.CheckedHot.Texture = "squid\\checkbox_checked_hot.dds";
            checkButtonStyle.CheckedPressed.Texture = "squid\\checkbox_down.dds";

            ControlStyle comboLabelStyle = new ControlStyle();
            comboLabelStyle.TextPadding = new Margin(10, 0, 0, 0);
            comboLabelStyle.Default.Texture = "squid\\combo_default.dds";
            comboLabelStyle.Hot.Texture = "squid\\combo_hot.dds";
            comboLabelStyle.Pressed.Texture = "squid\\combo_down.dds";
            comboLabelStyle.Focused.Texture = "squid\\combo_hot.dds";
            comboLabelStyle.Tiling = TextureMode.Grid;
            comboLabelStyle.Grid = new Margin(6, 0, 0, 0);

            ControlStyle comboButtonStyle = new ControlStyle();
            comboButtonStyle.Default.Texture = "squid\\combo_button_default.dds";
            comboButtonStyle.Hot.Texture = "squid\\combo_button_hot.dds";
            comboButtonStyle.Pressed.Texture = "squid\\combo_button_down.dds";
            comboButtonStyle.Focused.Texture = "squid\\combo_button_hot.dds";

            ControlStyle labelStyle = new ControlStyle();
            labelStyle.TextAlign = Alignment.TopRight;
            labelStyle.TextPadding = new Squid.Margin(8);

            Skin skin = new Skin();

            skin.Styles.Add("item", itemStyle);
            skin.Styles.Add("textbox", inputStyle);
            skin.Styles.Add("button", buttonStyle);
            skin.Styles.Add("frame", frameStyle);
            skin.Styles.Add("frame2", frameStyle2);
            skin.Styles.Add("checkBox", checkButtonStyle);
            skin.Styles.Add("comboLabel", comboLabelStyle);
            skin.Styles.Add("comboButton", comboButtonStyle);
            skin.Styles.Add("vscrollTrack", vscrollTrackStyle);
            skin.Styles.Add("vscrollButton", vscrollButtonStyle);
            skin.Styles.Add("vscrollUp", vscrollUp);
            skin.Styles.Add("hscrollTrack", hscrollTrackStyle);
            skin.Styles.Add("hscrollButton", hscrollButtonStyle);
            skin.Styles.Add("hscrollUp", hscrollUp);
            skin.Styles.Add("multiline", labelStyle);

            GuiHost.SetSkin(skin);

            #endregion
            /*
            var window1 = new DoomWindow();
            window1.Size = new Squid.Point(440, 170);
            window1.Position = new Squid.Point(40, 40);
            window1.Style = "frame";
            window1.TitleBar.Text = "These imps are [color=ffcc0000]SICK!!![/color]";
            window1.Parent = this;

            var label = new Label();
            label.Text = "f**k yea they are [color=ff00cccc]dude[/color]";
            label.Size = new Squid.Point(100, 100);
            label.Position = new Squid.Point(50, 50);
            label.Parent = window1;        */
        }