So I was talking to a friend of mine who wanted me to make a gump for a calculator. He said that he was tired of having to go out of game and use the windows calculator lol. Anyway after laughing at his plight for a few minutes I decided to see what I could come up with.
The problem now is that I need to insert the code for it. Only I don't know the TextEntry call.. I know how to add a TextEntry box but I don't know how to display the numbers in that box. I figured it was something like TextEntry.Text but that didn't work, then I tried TextBox.Text because this is what I named it in GumpStudio. Anyway... does anyone know what this box is called in UO or how to find out?
Here is the code I am working off... It might be a little skewed because opr needs to be defined and it's not. Making this on a Windows Forms Application is a lot easier than in GumpStudio rofl.
The problem now is that I need to insert the code for it. Only I don't know the TextEntry call.. I know how to add a TextEntry box but I don't know how to display the numbers in that box. I figured it was something like TextEntry.Text but that didn't work, then I tried TextBox.Text because this is what I named it in GumpStudio. Anyway... does anyone know what this box is called in UO or how to find out?
Here is the code I am working off... It might be a little skewed because opr needs to be defined and it's not. Making this on a Windows Forms Application is a lot easier than in GumpStudio rofl.
Code:
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using Server;
using Server.Gumps;
using Server.Network;
using Server.Commands;
namespace Server.Gumps
{
public class CalculatorGump : Gump
{
private Mobile caller;
public static void Initialize()
{
CommandSystem.Register("calc", AccessLevel.Administrator, new CommandEventHandler(calc_OnCommand));
}
[Usage("calc")]
[Description("Makes a call to your custom gump.")]
public static void calc_OnCommand(CommandEventArgs e)
{
if (e.Mobile.HasGump(typeof (CalculatorGump)))
e.Mobile.CloseGump(typeof (CalculatorGump));
e.Mobile.SendGump(new CalculatorGump(e.Mobile));
}
public CalculatorGump(Mobile from) : this()
{
caller = from;
}
public CalculatorGump() : base(0, 0)
{
this.Closable = true;
this.Disposable = true;
this.Dragable = true;
this.Resizable = false;
AddPage(0);
AddBackground(89, 46, 294, 381, 9200);
AddAlphaRegion(97, 53, 274, 361);
AddBackground(103, 61, 264, 345, 9270);
AddImageTiled(127, 90, 216, 35, 2524);
AddTextEntry(129, 90, 212, 33, 0, 0, @"");
AddButton(132, 172, 9721, 9722, (int) Buttons.ButtonNum01, GumpButtonType.Reply, 0);
AddButton(187, 172, 9721, 9722, (int) Buttons.ButtonNum02, GumpButtonType.Reply, 0);
AddButton(243, 172, 9721, 9722, (int) Buttons.ButtonNum03, GumpButtonType.Reply, 0);
AddLabel(160, 161, 0, @"1");
AddLabel(216, 161, 0, @"2");
AddLabel(271, 160, 0, @"3");
AddButton(132, 217, 9721, 9722, (int) Buttons.ButtonNum04, GumpButtonType.Reply, 0);
AddButton(187, 217, 9721, 9722, (int) Buttons.ButtonNum05, GumpButtonType.Reply, 0);
AddButton(243, 217, 9721, 9722, (int) Buttons.ButtonNum06, GumpButtonType.Reply, 0);
AddLabel(160, 206, 0, @"4");
AddLabel(216, 206, 0, @"5");
AddLabel(271, 205, 0, @"6");
AddButton(131, 262, 9721, 9722, (int) Buttons.ButtonNum07, GumpButtonType.Reply, 0);
AddButton(186, 262, 9721, 9722, (int) Buttons.ButtonNum08, GumpButtonType.Reply, 0);
AddButton(243, 262, 9721, 9722, (int) Buttons.ButtonNum09, GumpButtonType.Reply, 0);
AddLabel(160, 251, 0, @"7");
AddLabel(215, 251, 0, @"8");
AddLabel(270, 250, 0, @"9");
AddButton(131, 312, 9721, 9722, (int) Buttons.ButtonNum00, GumpButtonType.Reply, 0);
AddButton(186, 313, 9721, 9722, (int) Buttons.ButtonDecimal, GumpButtonType.Reply, 0);
AddButton(243, 312, 9721, 9722, (int) Buttons.ButtonNegPos, GumpButtonType.Reply, 0);
AddLabel(160, 301, 0, @"0");
AddLabel(217, 298, 0, @".");
AddLabel(269, 300, 0, @"±");
AddButton(303, 172, 9727, 9728, (int) Buttons.ButtonDivide, GumpButtonType.Reply, 0);
AddLabel(331, 160, 0, @"/");
AddButton(303, 217, 9727, 9728, (int) Buttons.ButtonMultiply, GumpButtonType.Reply, 0);
AddLabel(331, 205, 0, @"x");
AddButton(303, 262, 9727, 9728, (int) Buttons.ButtonAdd, GumpButtonType.Reply, 0);
AddLabel(330, 250, 0, @"+");
AddButton(303, 312, 9727, 9728, (int) Buttons.ButtonSubtract, GumpButtonType.Reply, 0);
AddLabel(330, 300, 0, @"-");
AddButton(265, 364, 12010, 12011, (int) Buttons.ButtonEquals, GumpButtonType.Reply, 0);
AddButton(129, 364, 12004, 12005, (int) Buttons.ButtonClear, GumpButtonType.Reply, 0);
}
public enum Buttons
{
ButtonNum01,
ButtonNum02,
ButtonNum03,
ButtonNum04,
ButtonNum05,
ButtonNum06,
ButtonNum07,
ButtonNum08,
ButtonNum09,
ButtonNum00,
ButtonDecimal,
ButtonNegPos,
ButtonDivide,
ButtonMultiply,
ButtonAdd,
ButtonSubtract,
ButtonEquals,
ButtonClear,
}
public override void OnResponse(NetState sender, RelayInfo info)
{
Mobile from = sender.Mobile;
double oparand1, oparand2, result;
switch (info.ButtonID)
{
case (int) Buttons.ButtonNum01:
{
TextBox.Text = TextBox.Text + "1";
break;
}
case (int) Buttons.ButtonNum02:
{
TextBox.Text = TextBox.Text + "2";
break;
}
case (int) Buttons.ButtonNum03:
{
TextBox.Text = TextBox.Text + "3";
break;
}
case (int) Buttons.ButtonNum04:
{
TextBox.Text = TextBox.Text + "4";
break;
}
case (int) Buttons.ButtonNum05:
{
TextBox.Text = TextBox.Text + "5";
break;
}
case (int) Buttons.ButtonNum06:
{
TextBox.Text = TextBox.Text + "6";
break;
}
case (int) Buttons.ButtonNum07:
{
TextBox.Text = TextBox.Text + "7";
break;
}
case (int) Buttons.ButtonNum08:
{
TextBox.Text = TextBox.Text + "8";
break;
}
case (int) Buttons.ButtonNum09:
{
TextBox.Text = TextBox.Text + "9";
break;
}
case (int) Buttons.ButtonNum00:
{
TextBox.Text = TextBox.Text + "0";
break;
}
case (int) Buttons.ButtonDecimal:
{
if (TextBox.Text.Contains("."))
{
TextBox.Text = TextBox.Text;
}
else
{
TextBox.Text = TextBox.Text + ".";
}
break;
}
case (int) Buttons.ButtonNegPos:
{
if (TextBox.Text.Contains("-"))
{
TextBox.Text = TextBox.Text.Remove(0, 1);
}
else
{
TextBox.Text = "-" + TextBox.Text;
}
break;
}
case (int) Buttons.ButtonDivide:
{
oparand1 = Convert.ToDouble(TextBox.Text);
opr = "/";
TextBox.Clear();
break;
}
case (int) Buttons.ButtonMultiply:
{
oparand1 = Convert.ToDouble(TextBox.Text);
opr = "*";
TextBox.Clear();
break;
}
case (int) Buttons.ButtonAdd:
{
oparand1 = Convert.ToDouble(TextBox.Text);
opr = "+";
TextBox.Clear();
break;
}
case (int) Buttons.ButtonSubtract:
{
oparand1 = Convert.ToDouble(TextBox.Text);
opr = "-";
TextBox.Clear();
break;
}
case (int) Buttons.ButtonEquals:
{
oparand2 = Convert.ToDouble(TextEntry.Text);
switch (opr)
{
case "+":
result = oparand1 + oparand2;
TextBox.Text = Convert.ToString(result);
break;
case "-":
result = oparand1 - oparand2;
TextBox.Text = Convert.ToString(result);
break;
case "*":
result = oparand1*oparand2;
TextBox.Text = Convert.ToString(result);
break;
case "/":
if (oparand2 == 0)
{
TextBox.Text = "0.0";
break;
}
else
{
result = oparand1/oparand2;
TextBox.TextEntry = Convert.ToString(result);
break;
}
case (int) Buttons.ButtonClear:
{
TextBox.Clear();
break;
}
}
}
}
}
}
}