os_frameset
|
 |
A partitioning of the browser
display.
An os_frameset
partitions a single view area within the browser display into a collection of
view areas. A view area can contain either an os_frame
or an os_frameset to further partition the display.
An os_frameset contains the following elements.
- One or more individual
frames, including other
os_frameset objects.
Frames are inserted into the frameset through either the add()
member function or operator<< .
- Optionally, a single
no-frames body to provide content for browsers that do not support frames.
Elements are added to the frameset no-frames body through the
add_noframes()
member functions. The entire no-frames body can be specified through the noframes()
member functions. Only the top-level os_frameset
within an os_framed_page should specify a
no-frames body.
The find, remove, and replace
member functions first search the frame contents, then the no-frames body, for
elements matching a specified key.
An os_frameset
can partition its view area into rows or columns. The size of the row or column
is specified in one of the following layout methods, where n is a positive
integer.
- n-An absolute, fixed number
of pixels.
- n
%
-Percentage of the view area. The total of all view areas combined must
equal 100%. If the total is more than 100%, all areas are equally decreased
until they equal 100%. If the total is less than 100%, all areas are equally
increased until they equal 100%, unless one or more relative areas are also
declared. Then, all remaining area is allocated to the relative areas.
- n
*
-Relative to other view areas. All remaining space after allocating fixed
pixel and percentage partitions is divided among relative-sized view areas.
An asterisk (*) is used to denote relative size. A single * character is
relative in size to the other frames and takes all remaining space. If you
declare multiple relative view areas, an integer before the asterisk weighs
the space allocations.
Different size specification
methods can be used within the same os_frameset .
Declaration
#include <ospace/web/frmpage.h>
class os_framed_page : public os_element
Enums
enum os_framed_page::partition_by
{
row, // Divides the frameset's view area into rows.
col // Divides the frameset's view area into columns.
};
Interface
Constructor
os_frameset()
Constructs a frameset with
undefined partitioning.
Constructor
os_frameset(
partition_by partition ,
const string& layout1 ,
const string& layout2 )
Constructs a frameset
partitioned by partition into two view areas of
sizes layout1 and layout2
.
Constructor
os_frameset(
partition_by partition ,
const string& layout1 ,
const string& layout2 ,
const string& layout3 )
Constructs a frameset
partitioned by partition into three view areas of
sizes layout1 , layout2
, and layout3 .
Constructor
os_frameset(
partition_by partition ,
const vector<string>& layout )
Constructs a frameset
partitioned by partition into one view area for
each size specification in layout .
Constructor
os_frameset(
const os_frameset& rhs )
Constructs a frameset that
is a copy of rhs .
Destructor
/*
virtual */ ~os_frameset()
Destroys the frameset.
=
os_frameset&
operator=( const os_frameset& rhs )
Replaces the frameset
contents with a copy of rhs and returns a
reference to the frameset.
add_noframes
os_element*
add_noframes( const os_element& element
)
Adds a copy of element
to the no-frames content and returns a pointer to the new element.
add_noframes
os_element*
add_noframes( const string& text )
Adds an os_text
element created from text to the no-frames
content, and returns a pointer to the new element.
background
string
background() const
Returns the no-frames
background image URL, or the empty string if a no-frames content element is
not set.
background
os_frameset&
background( const string& background )
Sets the no-frames
background image URL to background and returns a
reference to the frameset.
clone
/*
virtual */ os_element* clone() const
Returns a base class
pointer to a heap-based deep copy of the frameset.
cols
os_frameset&
cols( vector<string>& layout )
const
Partitions the frameset
into columns, with one column for each size specification in layout
, and returns a reference to the frameset.
find_all
/*
virtual */ vector<os_element*> find_all( const string& key
, os_element::search_depth depth
)
Returns a list of pointers
to the elements with key key found on a depth
(default os_element::shallow ) search. Returns
an empty list if no matching elements are found.
find_first
/*
virtual */ os_element* find_first( const string& key
, os_element::search_depth depth
)
Returns a pointer to the
first element with key key found on a depth
(default os_element::shallow ) search. Returns
0 if no matching element is found.
is_cols
bool
is_cols( const vector<string>& layout
)
Returns true
if the frameset is partitioned into columns and inserts the size
specification for each column into layout .
is_rows
bool
is_rows( vector<string>& layout )
const
Returns true
if the frameset is partitioned into rows, and inserts the size specification
for each row into layout .
noframes
os_frameset&
noframes( const os_body& body )
Sets the no-frames content
to be an os_noframes element created from body
, and returns a reference to the frameset.
noframes
os_frameset&
noframes( const os_noframes& noframes )
Sets the no-frames content
to be a copy of noframes and returns a reference
to the frameset.
noframes
os_noframes*
noframes() const
Returns a pointer to the
no-frames content element, or 0 if not set.
print
/*
virtual */ void print( ostream& os )
const
Prints the frameset to os
.
remove_all
/*
virtual */ int remove_all( const string& key
, os_element::search_depth depth
)
Removes all elements with
key key found on depth
(default os_element::shallow ) search, and
returns the total number of elements removed. Returns 0 if no matching
elements are found.
remove_first
/*
virtual */ bool remove_first( const string& key
, os_element::search_depth depth
)
Removes the first element
with key key found on depth
(default os_element::shallow ) search, and
returns true . Returns false
if no matching element is found.
replace_all
/*
virtual */ int replace_all( const string& key
, const os_element& replacement
, os_element::search_depth depth
)
Replaces, with replacement
, all elements with key key
found on depth (default os_element::shallow
) search, and returns the total number of elements replaced. Returns 0 if no
matching elements are found.
replace_first
/*
virtual */ bool replace_first( const string& key
, const os_element& replacement
, os_element::search_depth depth
)
Replaces, with replacement
, the first element with key key found on depth
(default os_element::shallow ) search, and
returns true . Returns false
if no matching element is found.
rows
os_frameset&
rows( const vector<string>& layout
)
Partitions the frameset
into rows, with one row for each size specification in layout
, and returns a reference to the frameset.
Copyright©1994-2026 Recursion
Software LLC
All Rights Reserved