octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Using Javascript and Browsers for Octave UI- Sorry, Misposted


From: BrowseOct
Subject: Using Javascript and Browsers for Octave UI- Sorry, Misposted
Date: Tue, 22 Jan 2008 11:43:57 -0800 (PST)

I am crossposting this thread on using a browser. This is a thread on using
javascript and a browser as a Octave UI. --- Very early in the process. -
Trying to get a fork, pipe, or async to work in windows. 

So far, It's been 3 hours of work. 

I'm working on a very limited and different approach to a GUI. Octave is a
STDIN and STDOUT focused product. I'd like a functionalized library using
browser based java scripting as an alternative. (It's crude in this form,
but workable). 
I've needed to use a browser as a front end to html GUIs in Octave with
Stdin and Stdout. Both IE (4+) in windows and Firefox support console
output. This is based on Gunter Born's wscript page. It stops octave in the
process. I still support your scheme, but there is some browser based
interaction that would add a lot to Octave. 

I'm still working the firefox stuff and linux. The code in form1.html shown
below should have a window.close(); to return and close the browser. 


Yes, it's still very crude, but it offers some simple opportunities for easy
development of GUI's with forms and browsers. 

The below example should work... 
In windows octave, a simple line like the following executes a cscript.
(Note system must be lower case in MATLAB 7.1) (I put these in the matlab
work directory for MATLAB and the Octave directory for octave - Did not
enter paths). 

[Status,Output] = system("cscript octave2.js"); 

The cscript returns the wscript.echo entries from the cscript batch file. 

octave2.js 

//************************************************ 
// File:    Form1.js (WSH sample in JScript) 
// Author:  (c) G. Born modified for octave 
// 
// Using Internet Explorer 4 or 5 to retrieve 
// form input 
//************************************************ 
var Text2 = "You entered:\n"; 

// Launch Internet Explorer, and connect event handler. 
var oIE = WScript.CreateObject("InternetExplorer.Application", "IE_"); 

oIE.Left = 50;           // Window position and other properties 
oIE.Top = 100; 
oIE.Height = 100; 
oIE.Width = 280; 
oIE.MenuBar = 0;         // No menu 
oIE.ToolBar = 0; 
oIE.StatusBar = 0; 
// Commented out because it causes a corrupted window border. 
// oIE.Resizable = 0     // Disable resizing. 
oIE.navigate(GetPath() + "Form1.htm");  // Load form. 
oIE.Visible = 1;         // Keep visible. 

// Important: Wait until IE is ready. 
while (oIE.Busy) {WScript.Sleep(200)}  // Suspend 

var ready = false;      // Form is still open. 
    
// Wait until the user closes the form using 
// the Close button in the upper right corner of the window. 
// This sets ready to true in the onclose event. 
while (!ready) {WScript.Sleep(500)}  // Suspend 

// Display the data obtained in the event handling procedure. 
WScript.Echo(Text2 + "\n" + name + "\n" + age); 

// We're ready now. The sample script terminates. 
// Here you can add script-specific code. 

// Event handler and helper 

function IE_OnQuit() 
{ 
    // Event handler is called if IE terminates. 
    // This happens if the user clicks the Close button. 
    // Retrieve the values. 
    name = "Name: " + oIE.Document.ValidForm.fName.value; 
    age = "Age: " + oIE.Document.ValidForm.fAge.value; 
    ready = true;        // Indicate form is closed. 
} 

function GetPath() 
{ 
    // Get script path because form (HTML file) 
    // must be in the same folder. 
    var path = WScript.ScriptFullName; 
    path = path.substr(0, path.lastIndexOf("\\") + 1); 
    return path; 
} 

//*** End 


and the form form1.htm which returns to the script on the browser close. 
(Needs a javascript function so use the X to close the window. 

<HTML> 
<form name="ValidForm"> 
    <p> 
        Name:   
        <input type="text" size="5" name="fName">   
        Age:   
        <input type="text" size="3" name="fAge"> 
        <br> 

        Password:   
        <input type="password" size="12" maxlength="8" name="fPassw"> 
            
        <input type="button" name="Button1" value="OK"> 
        <br>  The OK button needs to be fixed (close the browser instead)
and look at the output variable. 

        <input type="checkbox" name="fPrinter" value="1" checked> 
        Printer   
        <input type="checkbox" name="fScreen" value="2"> 
        Screen 
        <br> 

        Remarks: 
        <br> 

        <textarea cols="40" rows="5" name="fRemark"> 
        </textarea> 
    </p> 
</form> 
</HTML> 


The Output variable will contain everything from the echoed commands. 

Really I need to convert this to a functionalized .m or oct library. 

[Status.Response] = browsermodal("exampleform.html", params,...); 

Thanks 




gri6507 wrote:
Hello, 

Please pardon mme for posting this question since it seems like it's been
asked many times before. However, I am quite confised about which options
are still valid for a GUI frontend to Octave. 

What I'd like to have is something like Octave Workshop
(http://www.math.mcgill.ca/loisel/octave-workshop/). However, as that page
says, the project is no longer being maintained. There also seems to be
something at https://sourceforge.net/projects/octave-gtk/, but the
screenshots there are not very good and it seems like activity has stopped
on that project as well. I also saw a number o references to Tcl, JAVA, and
Python programs that are in various states of maintenance and functionality.
In summary, I'm confused. 

Can someone please calrify this issue for me? 


-- 
View this message in context: 
http://www.nabble.com/Using-Javascript-and-Browsers-for-Octave-UI--Sorry%2C-Misposted-tp15023055p15023055.html
Sent from the Octave - Maintainers mailing list archive at Nabble.com.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]