To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=67499
                 Issue #|67499
                 Summary|HEADER for Calc-Worksheets
               Component|Spreadsheet
                 Version|OOo 2.0.3
                Platform|All
                     URL|
              OS/Version|All
                  Status|UNCONFIRMED
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|FEATURE
                Priority|P3
            Subcomponent|code
             Assigned to|spreadsheet
             Reported by|discoleo





------- Additional comments from [EMAIL PROTECTED] Tue Jul 18 05:06:37 -0700 
2006 -------
Header for Calc-Worksheets

I often have to define many names/ranges in my Calc worksheets. However, having
many names easily creates confusion. One way around this is presented in issue
http://www.openoffice.org/issues/show_bug.cgi?id=66886, which describes the use
of namespaces. A complementary method implies the use of some special headers
for every worksheet containing in a structured format all the definitions. These
headers would be similar to the C++ header files, containing important
definitions and other advanced features. Such a header section allows writing
more structured worksheets and permits retaining the overview over complex
sheets. (As variables and constants are defined here, this could be viewed more
like true C.)

Another disadvantage of the current implementation is the fact that named ranges
DO NOT change automatically when a row/column is deleted/inserted. When this
happens, it is very difficult to seek every name/range for the presence of such
a range that needs to be corrected. This generates very hard to trace errors.
The header would provide such a place, where all names and ranges defined for
one sheet can be easily visualized, allowing greater flexibility in the
management of names and ranges.

Because it is easier to understand this principle when seeing an example, I will
write such a putative header:

// HEADER START

// I will also use features described in
// issue 66886 (about Namespaces)
// and also a new feature: function reference()
// (as of this writing not yet posted)

// A very useful feature would be to implement comments
// we could use "C++"-style comments
# or even awk/gawk-style comments
# this way we can have a more structured file


// NAMESPACE EXAMPLES
// use namespace all
// the previous command is only for users who do NOT want
//   to learn the power of namespaces
// of course, ANYONE ELSE would make full use of namespaces

// use freely all the names defined in the sheet 'one_sheet'
use namespace 'one_sheet'

// we want to use only some of the names defined in another sheet:
typedef 'another_sheet'::'some_name' 'LocalAlias'
// alternative definition:
// 'LocalAlias' = 'another_sheet'::'some_name';


// DEFINITIONS/ ASSIGNMENTS

// I need sometimes named ranges and specific constants
// The header will allow us to visualize all the definitions
//   and to add useful comments, e.g.
// intMyConst specifies the number of ...something
// (const should permit more effective processing)
const intMyConst = 22;
const strMyConst = 'my string';

// some variable and the number of data rows
// see later for a short description of reference()
//   IF a row is inserted or deleted,
//   intTotal is NO longer == 900!!!
intCount = COUNTA(A1:A900);
intTotal  = ROWS(reference(A1:A900, row_delete || row_insert));

// we can also assign names to cell-ranges
// but we will again add some comments,
// specifying what those ranges really represent:

// SOFA score in the first 24 h
SOFAi = $B$1:$B$900;

// maximum SOFA score using the maximum value for any of its subcomponents
SOFAmax = $C$1:$C$900;

// this are the various components of the Charlson Comorbidity Score
CharlsonT = reference(U1:AM900, row_delete || row_insert);
// { I will describe the function reference() as a separate Feature Request;
//   basically it is intended to offer greater control over how the range 
changes,
//   when a formula using this range is moved/copied to a different cell
//  OR
//   a row/column within this range is deleted/inserted.
// }
// row_delete || row_insert => adapt the range if a row is deleted/inserted, but
//   keep the range unchanged if a formula containing this named range
//   is copied or moved to another cell!
// the implementation of reference() will also depend on this header
//   and additionally on hardlinks (issue 66817)


// END HEADER

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to