
-----------------------------------
chrispaks
Wed May 25, 2005 4:31 pm

Gui button conversion help... (code complete though)
-----------------------------------
The gradient button isnt working, anyone know why/ how to fix it?
NOTE: Radians work fine...

(BTW for those of you not good at math, the conversion follows

Deg to Rad --->  # of degrees * pi / 180
Deg to Grad --->  # of degrees * 100 / 90

% The "Convert" Program
% This creates some widgets and does alot with them.
import GUI in "%oot/lib/GUI"

View.Set ("graphics:680;460,nobuttonbar")
Window.Set (defWinID, "title:Degrees, Radians and Gradients!")

var degreesTextField, radiansTextField, gradientsTextField, degreesTextField_G, GradientsTextField, GradientsTextField_D : int

const pi := 3.1415926535897932384626433832795
const grad := 1.1111111111111111111111111111111

%DEGREES TO RADIANS
%------------------------------------------------------------
%------------------------------------------------------------
proc DegreesToRadians
    var degrees : string := GUI.GetText (degreesTextField)
    if strrealok (degrees) then
        var radians : real := (strreal (degrees) * pi / 180)
        GUI.SetText (radiansTextField, realstr (radians, 1))
    end if
end DegreesToRadians

proc DegreesToRadians1 (dummy : string)
    DegreesToRadians
end DegreesToRadians1



%RADIANS TO DEGREES
%------------------------------------------------------------
%------------------------------------------------------------
proc RadiansToDegrees
    var radians : string := GUI.GetText (radiansTextField)
    if strrealok (radians) then
        var degrees : real := ((strreal (radians)) * 180 / pi)
        GUI.SetText (degreesTextField, realstr (degrees, 1))
    end if
end RadiansToDegrees

proc RadiansToDegrees1 (dummy : string)
    RadiansToDegrees
end RadiansToDegrees1




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%DEGREES TO RADIANS
%------------------------------------------------------------
%------------------------------------------------------------
proc DegreesToGradients
    var degrees1 : string := GUI.GetText (degreesTextField_G)
    if strrealok (degrees1) then
        var gradients : real := (strreal (degrees1) * 100 / 90)
        GUI.SetText (gradientsTextField, realstr (gradients, 1))
    end if
end DegreesToGradients

proc DegreesToGradients1 (dummy : string)
    DegreesToGradients
end DegreesToGradients1



%RADIANS TO DEGREES
%------------------------------------------------------------
%------------------------------------------------------------
proc GradientsToDegrees
    var gradients : string := GUI.GetText (GradientsTextField_D)
    if strrealok (gradients) then
        var degrees1 : real := ((strreal (gradients)) * 90 / 100)
        GUI.SetText (degreesTextField, realstr (degrees1, 1))
    end if
end GradientsToDegrees

proc GradientsToDegrees1 (dummy : string)
    GradientsToDegrees
end GradientsToDegrees1




%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%




%--------------------------------------------------------------
%--------------------------------------------------------------
%--------------------------------------------------------------
%------------------------- Seperation -------------------------
%--------------------------------------------------------------
%--------------------------------------------------------------
%--------------------------------------------------------------


%Textfield for degrees reading
degreesTextField := GUI.CreateTextFieldFull (15, 330, 75, "",
    DegreesToRadians1, GUI.INDENT, 0, 0)

%Create label for degrees field
var d1 : real := GUI.CreateLabelFull (25, 335 +
    GUI.GetHeight (degreesTextField),
    "Degrees", 50, 0, GUI.CENTER, 0)

%------------------------------------------------------------

%Create a text field for the radians reading
radiansTextField := GUI.CreateTextFieldFull (215, 330, 75, "",
    RadiansToDegrees1, GUI.INDENT, 0, 0)

%Create a label for the radians field
var d2 : real := GUI.CreateLabelFull (225, 335 +
    GUI.GetHeight (degreesTextField),
    "Radians", 50, 0, GUI.CENTER, 0)

%------------------------------------------------------------

%Create a text field for the fahrenheight reading to degrees
var ToRadians := GUI.CreateButton (105, 340, 95, "Convert ->",
    DegreesToRadians)

%Create a text field for the degrees reading to radians
var ToDegrees := GUI.CreateButton (105, 310, 95, "",
    DegreesToGradients)

%Create a text field for the degrees reading to gradients
var ToDegrees_G := GUI.CreateButton (105, 210, 95, "",
    DegreesToRadians)

%Create a text field for the degrees reading to radians
var ToDegrees := GUI.CreateButton (105, 310, 95, "",
    DegreesToGradients)

%Create a text field for the degrees reading to gradients
var ToDegrees_G := GUI.CreateButton (105, 210, 95, "",
    GradientsToRadians)

%Create a text field for the degrees reading to gradients
var ToRadians_G := GUI.CreateButton (105, 110, 95, "