octave-maintainers
[Top][All Lists]
Advanced

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

Re: Octave Workshop 0.9 & Windows Installer


From: John Swensen
Subject: Re: Octave Workshop 0.9 & Windows Installer
Date: Tue, 21 Feb 2006 07:19:37 -0700
User-agent: Thunderbird 1.4.1 (Windows/20051006)

Simon Persson wrote:
> On Tuesday 21 February 2006 04:39, Bill Denney wrote:
>   
>> I thought that you mentioned that there was a variable window, but I can't
>> find it.
>>
>>     
> I'm working on that... thought it would be a nice way to introduce myself.
> Have it a basic working window, some details to fix left. Maybe someone can 
> guide me... Still need to find names of fields in structures, the only way I 
> can see it work is to check for variables which type record contains 'struct' 
> and then use that name in symbol_table::subsymbol_list. Is there a better 
> way?
>
>   
>> A view menu that would allow me to open or close various MDI sub-windows
>> would be nice (along with the requisite X in the corners).
>>
>>     
>
> I was thinking about adding an option to use MDI or tabs. I think people will 
> want different layouts. I like tabs myself.
> Anyway, that's a later problem for me at least.
>
>   
>> Have an option to squash duplicated commands in the command history to one
>> command.
>>
>> A pony.
>>
>> Bill
>>     
>
> Simon
>   
Simon,

This was robbed heavily from the 'whos' function.

<<<<BEGIN CODE>>>>
// This method prints information for sets of symbols, but only one
        // set at a time (like, for instance: all variables, or all
        // built-in-functions).

        // This method invokes print_symbol_info_line to print info on every
        // symbol.

        int status = 0;
        ostringstream variableList;

        // XXX FIXME XXX Should separate argv to lists with and without
dots.
        Array<symbol_record *> xsymbols = top_level_sym_tab->symbol_list
( string_vector(), 0xFF, SYMTAB_ALL_SCOPES);
        Array<symbol_record *> xsubsymbols =
top_level_sym_tab->subsymbol_list ( string_vector(), 0xFF,
SYMTAB_ALL_SCOPES);

        int sym_len = xsymbols.length (), subsym_len =
xsubsymbols.length (),
        len = sym_len + subsym_len;

        Array<symbol_record *> symbols (len);

        if (len > 0)
        {
                size_t bytes = 0;
                size_t elements = 0;

                int i;

                // Joining symbolic tables.
                for (i = 0; i < sym_len; i++)
                        symbols(i) = xsymbols(i);

                for (i = 0; i < subsym_len; i++)
                        symbols(i+sym_len) = xsubsymbols(i);

                for (int j = 0; j < len; j++)
                {
                        if( symbols(j)->is_user_variable() )
                        {
                                variableList << symbols(j)->name() <<
"," << symbols(j)->rows() << "x" << symbols(j)->columns() << "," <<
symbols(j)->byte_size() << "," << symbols(j)->type_name() << "," << endl;
                                //cout << symbols(j)->name() << "," <<
symbols(j)->rows() << "x" << symbols(j)->columns() << "," <<
symbols(j)->byte_size() << "," << symbols(j)->type_name() << "," << endl;
                        }
                }

                send_variable_list( variableList.str() );
        }



        return status;
<<<<END CODE>>>>

Hope it helps.

John Swensen



reply via email to

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