mirror of https://github.com/KLayout/klayout.git
Merge pull request #836 from EugeneZelenko/various-spell-check
Fix misspellings in various modules.
This commit is contained in:
commit
3d4c3ae472
|
|
@ -179,7 +179,7 @@ Bottom</string>
|
|||
<item row="3" column="1" >
|
||||
<widget class="QLabel" name="label" >
|
||||
<property name="text" >
|
||||
<string>Topcell
|
||||
<string>Top cell
|
||||
:</string>
|
||||
</property>
|
||||
<property name="alignment" >
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ lay::FlattenInstOptionsDialog *
|
|||
MainService::flatten_inst_options_dialog ()
|
||||
{
|
||||
if (! mp_flatten_inst_options_dialog) {
|
||||
mp_flatten_inst_options_dialog = new lay::FlattenInstOptionsDialog (view (), false /*don't allow prunining*/);
|
||||
mp_flatten_inst_options_dialog = new lay::FlattenInstOptionsDialog (view (), false /*don't allow pruning*/);
|
||||
}
|
||||
return mp_flatten_inst_options_dialog;
|
||||
}
|
||||
|
|
@ -196,7 +196,7 @@ class CommonInsts
|
|||
{
|
||||
public:
|
||||
CommonInsts ()
|
||||
: m_valid (true), m_first (true), m_ambigous (false), m_cv_index (0)
|
||||
: m_valid (true), m_first (true), m_ambiguous (false), m_cv_index (0)
|
||||
{
|
||||
// .. nothing yet ..
|
||||
}
|
||||
|
|
@ -229,7 +229,7 @@ public:
|
|||
++i1; ++i2;
|
||||
}
|
||||
if (i1 != m_common_inst.end ()) {
|
||||
m_ambigous = true;
|
||||
m_ambiguous = true;
|
||||
m_common_inst.erase (i1, m_common_inst.end ());
|
||||
}
|
||||
|
||||
|
|
@ -251,9 +251,9 @@ public:
|
|||
return ! m_first;
|
||||
}
|
||||
|
||||
bool ambigous () const
|
||||
bool ambiguous () const
|
||||
{
|
||||
return m_ambigous && m_common_inst.empty ();
|
||||
return m_ambiguous && m_common_inst.empty ();
|
||||
}
|
||||
|
||||
bool empty () const
|
||||
|
|
@ -275,7 +275,7 @@ private:
|
|||
std::vector<db::InstElement> m_common_inst;
|
||||
bool m_valid;
|
||||
bool m_first;
|
||||
bool m_ambigous;
|
||||
bool m_ambiguous;
|
||||
unsigned int m_cv_index;
|
||||
};
|
||||
|
||||
|
|
@ -300,7 +300,7 @@ MainService::cm_descend ()
|
|||
if (! common_inst.anything ()) {
|
||||
throw tl::Exception (tl::to_string (QObject::tr ("Select an object to determine into which instance to descend")));
|
||||
}
|
||||
if (! common_inst.valid () || common_inst.ambigous ()) {
|
||||
if (! common_inst.valid () || common_inst.ambiguous ()) {
|
||||
throw tl::Exception (tl::to_string (QObject::tr ("Selection is ambiguous - cannot determine into which instance to descend")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1520,7 +1520,7 @@ PartialService::edit_cancel ()
|
|||
}
|
||||
|
||||
bool
|
||||
PartialService::wheel_event (int /*delta*/, bool /*horizonal*/, const db::DPoint & /*p*/, unsigned int /*buttons*/, bool /*prio*/)
|
||||
PartialService::wheel_event (int /*delta*/, bool /*horizontal*/, const db::DPoint & /*p*/, unsigned int /*buttons*/, bool /*prio*/)
|
||||
{
|
||||
hover_reset ();
|
||||
return false;
|
||||
|
|
@ -2665,7 +2665,7 @@ PartialService::partial_select (const db::DBox &box, lay::Editable::SelectionMod
|
|||
// check, if there is a selected instance inside the box - in this case, we do not do a new selection
|
||||
if (! box.is_point ()) {
|
||||
|
||||
lay::InstFinder inst_finder (box.is_point (), m_top_level_sel, true /*full arrays*/, true /*enclose*/, 0 /*no exludes*/, true /*visible layers*/);
|
||||
lay::InstFinder inst_finder (box.is_point (), m_top_level_sel, true /*full arrays*/, true /*enclose*/, 0 /*no excludes*/, true /*visible layers*/);
|
||||
inst_finder.find (view (), search_box);
|
||||
|
||||
// collect the founds from the finder
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ public:
|
|||
/**
|
||||
* @brief Implement the wheel event (for resetting hove state)
|
||||
*/
|
||||
virtual bool wheel_event (int delta, bool horizonal, const db::DPoint &p, unsigned int buttons, bool prio);
|
||||
virtual bool wheel_event (int delta, bool horizontal, const db::DPoint &p, unsigned int buttons, bool prio);
|
||||
|
||||
/**
|
||||
* @brief Implement the mouse mode: move event
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ ShapeEditService::tap (const db::DPoint &initial)
|
|||
* An edge is searched that emerges from p and intersects with the m->o edge in a way that the intersection
|
||||
* point is closest to o.
|
||||
*
|
||||
* This method returns the intersection point ("new o") and a flag if the search was sucessful (.first of return value).
|
||||
* This method returns the intersection point ("new o") and a flag if the search was successful (.first of return value).
|
||||
*/
|
||||
std::pair <bool, db::DPoint>
|
||||
ShapeEditService::interpolate (const db::DPoint &m, const db::DPoint &o, const db::DPoint &p) const
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ class Service;
|
|||
std::string pcell_parameters_to_string (const std::map<std::string, tl::Variant> ¶meters);
|
||||
|
||||
/**
|
||||
* @brief Deerializes PCell parameters from a string
|
||||
* @brief Deserializes PCell parameters from a string
|
||||
*/
|
||||
std::map<std::string, tl::Variant> pcell_parameters_from_string (const std::string &s);
|
||||
|
||||
|
|
|
|||
|
|
@ -266,7 +266,7 @@ gsi::Class<lay::ObjectInstPath> decl_ObjectInstPath ("lay", "ObjectInstPath",
|
|||
gsi::method_ext ("layer", &ip_layer,
|
||||
"@brief Gets the layer index that describes which layer the selected shape is on\n"
|
||||
"\n"
|
||||
"Startiong with version 0.27, this method returns nil for this property if \\is_cell_inst? is false - "
|
||||
"Starting with version 0.27, this method returns nil for this property if \\is_cell_inst? is false - "
|
||||
"i.e. the selection does not represent a shape."
|
||||
) +
|
||||
gsi::method ("layer=", &lay::ObjectInstPath::set_layer, gsi::arg ("layer_index"),
|
||||
|
|
@ -284,7 +284,7 @@ gsi::Class<lay::ObjectInstPath> decl_ObjectInstPath ("lay", "ObjectInstPath",
|
|||
"the selection must be set in the view using \\LayoutView#object_selection= or \\LayoutView#select_object.\n"
|
||||
"\n"
|
||||
"This method delivers valid results only for object selections that represent shapes. "
|
||||
"Startiong with version 0.27, this method returns nil for this property if \\is_cell_inst? is false."
|
||||
"Starting with version 0.27, this method returns nil for this property if \\is_cell_inst? is false."
|
||||
) +
|
||||
gsi::method ("shape=", &lay::ObjectInstPath::set_shape, gsi::arg ("shape"),
|
||||
"@brief Sets the shape object that describes the selected shape geometrically\n"
|
||||
|
|
|
|||
|
|
@ -709,7 +709,7 @@ ClassBase::classes_in_definition_order (const char *mod_name)
|
|||
if (taken.find (*c) != taken.end ()) {
|
||||
// not considered.
|
||||
} else if ((*c)->declaration () && (*c)->declaration () != *c && taken.find ((*c)->declaration ()) == taken.end ()) {
|
||||
// can't produce this class yet - it refers to a class whic is not available.
|
||||
// can't produce this class yet - it refers to a class which is not available.
|
||||
tl::error << tl::sprintf ("class %s.%s refers to another class (%s.%s) which is not available", (*c)->module (), (*c)->name (), (*c)->declaration ()->module (), (*c)->declaration ()->name ());
|
||||
} else if ((*c)->parent () != 0 && taken.find ((*c)->parent ()) == taken.end ()) {
|
||||
// can't produce this class yet - it's a child of a parent that is not produced yet.
|
||||
|
|
|
|||
|
|
@ -547,7 +547,7 @@ public:
|
|||
*
|
||||
* This method will be called by the GSI system to provide initialization after
|
||||
* the static initialization. Some schemes cannot be implementation statically, plus
|
||||
* the initialization order is indetermined for static initialization.
|
||||
* the initialization order is undetermined for static initialization.
|
||||
* In that case, this initialization step is useful. It will call the initialize
|
||||
* method on all method declarations.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -762,7 +762,7 @@ Class<Recipe_Impl> decl_Recipe_Impl ("tl", "Recipe",
|
|||
"\n"
|
||||
"This method has been introduced in version 0.27 and replaces 'execute'."
|
||||
),
|
||||
"@brief A facility for providing reproducable recipes\n"
|
||||
"@brief A facility for providing reproducible recipes\n"
|
||||
"The idea of this facility is to provide a service by which an object\n"
|
||||
"can be reproduced in a parametrized way. The intended use case is a \n"
|
||||
"DRC report for example, where the DRC script is the generator.\n"
|
||||
|
|
|
|||
|
|
@ -210,7 +210,7 @@ public:
|
|||
/**
|
||||
* @brief Ignores the next exception
|
||||
*
|
||||
* This is useful for suppressing reraised exceptions in the debugger.
|
||||
* This is useful for suppressing re-raised exceptions in the debugger.
|
||||
*/
|
||||
virtual void ignore_next_exception () = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@
|
|||
*/
|
||||
|
||||
|
||||
#ifndef _HDR_gsiSerialisation
|
||||
#define _HDR_gsiSerialisation
|
||||
#ifndef _HDR_gsiSerialization
|
||||
#define _HDR_gsiSerialization
|
||||
|
||||
#include "gsiTypes.h"
|
||||
#include "tlHeap.h"
|
||||
|
|
|
|||
|
|
@ -1714,7 +1714,7 @@ public:
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Returns a value indicating that the ownership of a passed object is transfered to the receiver
|
||||
* @brief Returns a value indicating that the ownership of a passed object is transferred to the receiver
|
||||
*/
|
||||
bool pass_obj () const
|
||||
{
|
||||
|
|
@ -1722,7 +1722,7 @@ public:
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Sets a value indicating that the ownership of a passed object is transfered to the receiver
|
||||
* @brief Sets a value indicating that the ownership of a passed object is transferred to the receiver
|
||||
*/
|
||||
void set_pass_obj (bool b)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ static QBrush right_diff_brush_dep (QColor (64, 192, 64), Qt::Dense4Pattern);
|
|||
* "o1" those that only appear in stream 1, "o2" only those that appear in stream 2,
|
||||
* "d" will receive std::pair's of elements that differ between 1 and 2.
|
||||
* Two parameters govern the algorithm:
|
||||
* "max_lookahead": tell how far to look into the future to find "synchronised" parts.
|
||||
* "max_lookahead": tell how far to look into the future to find "synchronized" parts.
|
||||
* "min_sync": how many elements must be equal (in sequence) to resync.
|
||||
*/
|
||||
template <class I, class O1, class O2, class O3, class O4, class EQ>
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ gsi::Class<img::DataMapping> decl_ImageDataMapping ("lay", "ImageDataMapping",
|
|||
"@return The number of entries.\n"
|
||||
) +
|
||||
gsi::method_ext ("colormap_value", &gsi::colormap_value, gsi::arg ("n"),
|
||||
"@brief Returns the vlue for a given color map entry.\n"
|
||||
"@brief Returns the value for a given color map entry.\n"
|
||||
"@param n The index of the entry (0..\\num_colormap_entries-1)\n"
|
||||
"@return The value (see \\add_colormap_entry for a description).\n"
|
||||
) +
|
||||
|
|
@ -1001,7 +1001,7 @@ gsi::Class<ImageRef> decl_Image (decl_BasicImage, "lay", "Image",
|
|||
"@brief Forces an update of the view\n"
|
||||
"Usually it is not required to call this method. The image object is automatically synchronized "
|
||||
"with the view's image objects. For performance reasons this update is delayed to collect multiple "
|
||||
"update requests. Calling 'update' will ensure immdiate updates.\n"
|
||||
"update requests. Calling 'update' will ensure immediate updates.\n"
|
||||
"\n"
|
||||
"This method has been introduced in version 0.25."
|
||||
) +
|
||||
|
|
@ -1408,7 +1408,7 @@ gsi::ClassExt<db::TilingProcessor> tiling_processor_ext (
|
|||
"@brief Specifies output to an image\n"
|
||||
"This method will establish an output channel which delivers float data to image data. "
|
||||
"The image is a monochrome image where each pixel corresponds to a single tile. This "
|
||||
"method for example is useful to collect densitity information into an image. The "
|
||||
"method for example is useful to collect density information into an image. The "
|
||||
"image is configured such that each pixel covers one tile.\n"
|
||||
"\n"
|
||||
"The name is the name which must be used in the _output function of the scripts in order to "
|
||||
|
|
|
|||
|
|
@ -499,7 +499,7 @@ Service::insert_image (const img::Object &image)
|
|||
img::Object *new_image = new img::Object (image);
|
||||
const db::DUserObject &s = mp_view->annotation_shapes ().insert (db::DUserObject (new_image));
|
||||
|
||||
// NOTE: the const_cast will allow us to modfiy the object begin the DUserObject - that is not really clean
|
||||
// NOTE: the const_cast will allow us to modify the object begin the DUserObject - that is not really clean
|
||||
return const_cast <img::Object *> (dynamic_cast <const img::Object *> (s.ptr ()));
|
||||
}
|
||||
|
||||
|
|
@ -885,7 +885,7 @@ Service::end_move (const db::DPoint &, lay::angle_constraint_type)
|
|||
int id = obj2id (mp_view->annotation_shapes ().replace (m_selected.begin ()->first, db::DUserObject (inew)));
|
||||
image_changed_event (id);
|
||||
|
||||
// clear the selection (that was artifically created before)
|
||||
// clear the selection (that was artificially created before)
|
||||
if (! m_keep_selection_for_landmark) {
|
||||
clear_selection ();
|
||||
} else {
|
||||
|
|
@ -899,7 +899,7 @@ Service::end_move (const db::DPoint &, lay::angle_constraint_type)
|
|||
int id = obj2id (mp_view->annotation_shapes ().replace (m_selected.begin ()->first, db::DUserObject (inew)));
|
||||
image_changed_event (id);
|
||||
|
||||
// clear the selection (that was artifically created before)
|
||||
// clear the selection (that was artificially created before)
|
||||
clear_selection ();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,14 +86,14 @@ Class<gsi::MacroExecutionContext> decl_MacroExecutionContext ("lay", "MacroExecu
|
|||
gsi::method ("ignore_next_exception", &gsi::MacroExecutionContext::ignore_next_exception,
|
||||
"@brief Ignores the next exception in the debugger\n"
|
||||
"The next exception thrown will be ignored in the debugger. That feature is useful when "
|
||||
"reraising exceptions if those new exception shall not appear in the debugger."
|
||||
"re-raising exceptions if those new exception shall not appear in the debugger."
|
||||
),
|
||||
"@brief Support for various debugger features\n"
|
||||
"\n"
|
||||
"This class implements some features that allow customization of the debugger behavior, specifically "
|
||||
"the generation of back traces and the handling of exception. These functions are particular useful "
|
||||
"for implementing DSL interpreters and providing proper error locations in the back traces or to "
|
||||
"suppress exceptions when reraising them."
|
||||
"suppress exceptions when re-raising them."
|
||||
);
|
||||
|
||||
class MacroInterpreter
|
||||
|
|
@ -334,7 +334,7 @@ Class<gsi::MacroInterpreter> decl_MacroInterpreter ("lay", "MacroInterpreter",
|
|||
"\n"
|
||||
"Use this attribute setter in the initializer before registering the interpreter.\n"
|
||||
"\n"
|
||||
"Before version 0.25 this attribute was a reimplementable method. It has been turned into an attribute for "
|
||||
"Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for "
|
||||
"performance reasons in version 0.25.\n"
|
||||
) +
|
||||
gsi::method ("debugger_scheme=", &gsi::MacroInterpreter::set_debugger_scheme, gsi::arg ("scheme"),
|
||||
|
|
@ -344,7 +344,7 @@ Class<gsi::MacroInterpreter> decl_MacroInterpreter ("lay", "MacroInterpreter",
|
|||
"\n"
|
||||
"Use this attribute setter in the initializer before registering the interpreter.\n"
|
||||
"\n"
|
||||
"Before version 0.25 this attribute was a reimplementable method. It has been turned into an attribute for "
|
||||
"Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for "
|
||||
"performance reasons in version 0.25.\n"
|
||||
) +
|
||||
gsi::method ("storage_scheme=", &gsi::MacroInterpreter::set_storage_scheme, gsi::arg ("scheme"),
|
||||
|
|
@ -355,7 +355,7 @@ Class<gsi::MacroInterpreter> decl_MacroInterpreter ("lay", "MacroInterpreter",
|
|||
"\n"
|
||||
"Use this attribute setter in the initializer before registering the interpreter.\n"
|
||||
"\n"
|
||||
"Before version 0.25 this attribute was a reimplementable method. It has been turned into an attribute for "
|
||||
"Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for "
|
||||
"performance reasons in version 0.25.\n"
|
||||
) +
|
||||
gsi::method ("description=", &gsi::MacroInterpreter::set_description, gsi::arg ("description"),
|
||||
|
|
@ -366,7 +366,7 @@ Class<gsi::MacroInterpreter> decl_MacroInterpreter ("lay", "MacroInterpreter",
|
|||
"\n"
|
||||
"Use this attribute setter in the initializer before registering the interpreter.\n"
|
||||
"\n"
|
||||
"Before version 0.25 this attribute was a reimplementable method. It has been turned into an attribute for "
|
||||
"Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for "
|
||||
"performance reasons in version 0.25.\n"
|
||||
) +
|
||||
gsi::method ("suffix=", &gsi::MacroInterpreter::set_suffix, gsi::arg ("suffix"),
|
||||
|
|
@ -377,7 +377,7 @@ Class<gsi::MacroInterpreter> decl_MacroInterpreter ("lay", "MacroInterpreter",
|
|||
"\n"
|
||||
"Use this attribute setter in the initializer before registering the interpreter.\n"
|
||||
"\n"
|
||||
"Before version 0.25 this attribute was a reimplementable method. It has been turned into an attribute for "
|
||||
"Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for "
|
||||
"performance reasons in version 0.25.\n"
|
||||
) +
|
||||
gsi::callback ("executable", &gsi::MacroInterpreter::executable, &gsi::MacroInterpreter::f_executable, gsi::arg ("macro"),
|
||||
|
|
|
|||
|
|
@ -831,7 +831,7 @@ public:
|
|||
*
|
||||
* The collection becomes the owner of the object passed to this method
|
||||
*
|
||||
* @return true, if the macro could be added sucessfully.
|
||||
* @return true, if the macro could be added successfully.
|
||||
*/
|
||||
bool add (lym::Macro *m);
|
||||
|
||||
|
|
@ -883,7 +883,7 @@ public:
|
|||
*
|
||||
* If a name is given, it is used as a prefix to create a unique name.
|
||||
* This method will also create the directory for this folder.
|
||||
* If not sucessful, it will return 0.
|
||||
* If not successful, it will return 0.
|
||||
*/
|
||||
lym::MacroCollection *create_folder (const char *name = 0, bool mkdir = true);
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
</property>
|
||||
<property name="text">
|
||||
<string>If checked, a blank character is used as x/y coordinate
|
||||
separator. Otherweise a comma is used.</string>
|
||||
separator. Otherwise a comma is used.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
|||
|
|
@ -167,8 +167,8 @@ gsi::ClassExt<db::SaveLayoutOptions> gds2_writer_options (
|
|||
gsi::method_ext ("gds2_resolve_skew_arrays=", &set_gds2_resolve_skew_arrays, gsi::arg ("flag"),
|
||||
"@brief Resolves skew arrays into single instances\n"
|
||||
"\n"
|
||||
"Setting this property to true will make skew (non-orthongonal) arrays being resolved into single instances.\n"
|
||||
"Skew arrays happen if either the row or column vector isn't paralell to x or y axis. Such arrays can cause problems with "
|
||||
"Setting this property to true will make skew (non-orthogonal) arrays being resolved into single instances.\n"
|
||||
"Skew arrays happen if either the row or column vector isn't parallel to x or y axis. Such arrays can cause problems with "
|
||||
"some legacy software and can be disabled with this option.\n"
|
||||
"\nThis property has been added in version 0.27.1.\n"
|
||||
) +
|
||||
|
|
|
|||
|
|
@ -1247,7 +1247,7 @@ public:
|
|||
void register_macro_cell (const std::string &mn, LEFDEFLayoutGenerator *generator);
|
||||
|
||||
/**
|
||||
* @brief Gets the macro cell for the given macro name or 0 if no such maco is registered
|
||||
* @brief Gets the macro cell for the given macro name or 0 if no such macro is registered
|
||||
*/
|
||||
std::pair<db::Cell *, db::Trans> macro_cell (const std::string &mn, Layout &layout, const std::vector<std::string> &maskshift_layers, const std::vector<unsigned int> &masks, const MacroDesc ¯o_desc, const LEFDEFNumberOfMasks *nm);
|
||||
|
||||
|
|
@ -1427,7 +1427,7 @@ public:
|
|||
|
||||
protected:
|
||||
/**
|
||||
* @brief Actually does the readong
|
||||
* @brief Actually does the reading
|
||||
*
|
||||
* Reimplement that method for the LEF and DEF implementation
|
||||
*/
|
||||
|
|
@ -1581,7 +1581,7 @@ protected:
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Gets a flag indicating whether pinance names shall be produced as properties
|
||||
* @brief Gets a flag indicating whether pin names shall be produced as properties
|
||||
*/
|
||||
bool produce_pin_props () const
|
||||
{
|
||||
|
|
@ -1589,7 +1589,7 @@ protected:
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Gets the property name id of the pinance name property
|
||||
* @brief Gets the property name id of the pin name property
|
||||
*/
|
||||
db::property_names_id_type pin_prop_name_id () const
|
||||
{
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ gsi::Class<db::LEFDEFReaderOptions> decl_lefdef_config ("db", "LEFDEFReaderConfi
|
|||
) +
|
||||
gsi::method ("cell_outline_layer", &db::LEFDEFReaderOptions::cell_outline_layer,
|
||||
"@brief Gets the layer on which to produce the cell outline (diearea).\n"
|
||||
"This attribute is a string correspondig to the string representation of \\LayerInfo. "
|
||||
"This attribute is a string corresponding to the string representation of \\LayerInfo. "
|
||||
"This string can be either a layer number, a layer/datatype pair, a name or a combination of both. See \\LayerInfo for details.\n"
|
||||
"The setter for this attribute is \\cell_outline_layer=. See also \\produce_cell_outlines."
|
||||
) +
|
||||
|
|
@ -212,7 +212,7 @@ gsi::Class<db::LEFDEFReaderOptions> decl_lefdef_config ("db", "LEFDEFReaderConfi
|
|||
) +
|
||||
gsi::method ("placement_blockage_layer", &db::LEFDEFReaderOptions::placement_blockage_layer,
|
||||
"@brief Gets the layer on which to produce the placement blockage.\n"
|
||||
"This attribute is a string correspondig to the string representation of \\LayerInfo. "
|
||||
"This attribute is a string corresponding to the string representation of \\LayerInfo. "
|
||||
"This string can be either a layer number, a layer/datatype pair, a name or a combination of both. See \\LayerInfo for details."
|
||||
"The setter for this attribute is \\placement_blockage_layer=. See also \\produce_placement_blockages."
|
||||
) +
|
||||
|
|
@ -234,7 +234,7 @@ gsi::Class<db::LEFDEFReaderOptions> decl_lefdef_config ("db", "LEFDEFReaderConfi
|
|||
) +
|
||||
gsi::method ("region_layer", &db::LEFDEFReaderOptions::region_layer,
|
||||
"@brief Gets the layer on which to produce the regions.\n"
|
||||
"This attribute is a string correspondig to the string representation of \\LayerInfo. "
|
||||
"This attribute is a string corresponding to the string representation of \\LayerInfo. "
|
||||
"This string can be either a layer number, a layer/datatype pair, a name or a combination of both. See \\LayerInfo for details."
|
||||
"The setter for this attribute is \\region_layer=. See also \\produce_regions.\n"
|
||||
"\n"
|
||||
|
|
@ -836,7 +836,7 @@ gsi::Class<db::LEFDEFReaderOptions> decl_lefdef_config ("db", "LEFDEFReaderConfi
|
|||
) +
|
||||
gsi::method ("separate_groups=", &db::LEFDEFReaderOptions::set_separate_groups, gsi::arg ("flag"),
|
||||
"@brief Sets a value indicating whether to create separate parent cells for individual groups.\n"
|
||||
"See \\seperate_groups for details about this property.\n"
|
||||
"See \\separate_groups for details about this property.\n"
|
||||
"\n"
|
||||
"This property has been added in version 0.27.\n"
|
||||
) +
|
||||
|
|
|
|||
|
|
@ -580,7 +580,7 @@ MAGReader::read_cell_instance (tl::Extractor &ex, tl::TextInputStream &stream, L
|
|||
lib_path = lp->second;
|
||||
}
|
||||
} else {
|
||||
// give precendence to lib_path
|
||||
// give precedence to lib_path
|
||||
filename = tl::filename (filename);
|
||||
// save for next use
|
||||
m_use_lib_paths.insert (std::make_pair (filename, lib_path));
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ MAGWriter::write (db::Layout &layout, tl::OutputStream &stream, const db::SaveLa
|
|||
|
||||
// As a favor, write a dummy top level file before closing the stream. If the file name corresponds to a real cell,
|
||||
// this file is overwritten by the true cell.
|
||||
write_dummmy_top (cell_set, layout, stream);
|
||||
write_dummy_top (cell_set, layout, stream);
|
||||
stream.close ();
|
||||
|
||||
for (std::set<db::cell_index_type>::const_iterator c = cell_set.begin (); c != cell_set.end (); ++c) {
|
||||
|
|
@ -115,7 +115,7 @@ MAGWriter::filename_for_cell (db::cell_index_type ci, db::Layout &layout)
|
|||
}
|
||||
|
||||
void
|
||||
MAGWriter::write_dummmy_top (const std::set<db::cell_index_type> &cell_set, const db::Layout &layout, tl::OutputStream &os)
|
||||
MAGWriter::write_dummy_top (const std::set<db::cell_index_type> &cell_set, const db::Layout &layout, tl::OutputStream &os)
|
||||
{
|
||||
os.set_as_text (true);
|
||||
os << "magic\n";
|
||||
|
|
@ -407,7 +407,7 @@ MAGWriter::scaled (const db::Vector &v) const
|
|||
{
|
||||
db::Vector res (db::DVector (v) * m_sf);
|
||||
if (! db::DVector (res).equal (db::DVector (v) * m_sf)) {
|
||||
tl::warn << tl::sprintf (tl::to_string (tr ("Vector rounding occured at %s in cell %s - not a multiple of lambda (%.12g)")), v.to_string (), m_cellname, m_options.lambda);
|
||||
tl::warn << tl::sprintf (tl::to_string (tr ("Vector rounding occurred at %s in cell %s - not a multiple of lambda (%.12g)")), v.to_string (), m_cellname, m_options.lambda);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
|
@ -417,7 +417,7 @@ MAGWriter::scaled (const db::Point &p) const
|
|||
{
|
||||
db::Point res (db::DPoint (p) * m_sf);
|
||||
if (! db::DPoint (res).equal (db::DPoint (p) * m_sf)) {
|
||||
tl::warn << tl::sprintf (tl::to_string (tr ("Coordinate rounding occured at %s in cell %s - not a multiple of lambda (%.12g)")), p.to_string (), m_cellname, m_options.lambda);
|
||||
tl::warn << tl::sprintf (tl::to_string (tr ("Coordinate rounding occurred at %s in cell %s - not a multiple of lambda (%.12g)")), p.to_string (), m_cellname, m_options.lambda);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ private:
|
|||
|
||||
std::string filename_for_cell (db::cell_index_type ci, db::Layout &layout);
|
||||
void write_cell (db::cell_index_type ci, const std::vector <std::pair <unsigned int, db::LayerProperties> > &layers, db::Layout &layout, tl::OutputStream &os);
|
||||
void write_dummmy_top (const std::set<db::cell_index_type> &cell_set, const db::Layout &layout, tl::OutputStream &os);
|
||||
void write_dummy_top (const std::set<db::cell_index_type> &cell_set, const db::Layout &layout, tl::OutputStream &os);
|
||||
void do_write_cell (db::cell_index_type ci, const std::vector <std::pair <unsigned int, db::LayerProperties> > &layers, db::Layout &layout, tl::OutputStream &os);
|
||||
void write_polygon (const db::Polygon &poly, const db::Layout &layout, tl::OutputStream &os);
|
||||
void write_label (const std::string &layer, const db::Text &text, const Layout &layout, tl::OutputStream &os);
|
||||
|
|
|
|||
|
|
@ -212,7 +212,7 @@ gsi::ClassExt<db::LoadLayoutOptions> mag_reader_options (
|
|||
gsi::method_ext ("mag_lambda=", &set_mag_lambda, gsi::arg ("lambda"),
|
||||
"@brief Specifies the lambda value to used for reading\n"
|
||||
"\n"
|
||||
"The lamdba value is the basic unit of the layout. Magic draws layout as multiples of this basic unit. "
|
||||
"The lambda value is the basic unit of the layout. Magic draws layout as multiples of this basic unit. "
|
||||
"The layout read by the MAG reader will use the database unit specified by \\mag_dbu, but the physical layout "
|
||||
"coordinates will be multiples of \\mag_lambda.\n"
|
||||
"\nThis property has been added in version 0.26.2.\n"
|
||||
|
|
@ -276,7 +276,7 @@ gsi::ClassExt<db::SaveLayoutOptions> mag_writer_options (
|
|||
gsi::method_ext ("mag_lambda=", &set_mag_lambda_w, gsi::arg ("lambda"),
|
||||
"@brief Specifies the lambda value to used for writing\n"
|
||||
"\n"
|
||||
"The lamdba value is the basic unit of the layout.\n"
|
||||
"The lambda value is the basic unit of the layout.\n"
|
||||
"The layout is brought to units of this value. If the layout is not on-grid on this unit, snapping will happen. "
|
||||
"If the value is less or equal to zero, KLayout will use the lambda value stored inside the layout set by a previous read operation "
|
||||
"of a MAGIC file. The lambda value is stored in the Layout object as the \"lambda\" metadata attribute.\n"
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ public:
|
|||
bool is_regular (db::Vector &a, db::Vector &b, size_t &n, size_t &m) const;
|
||||
|
||||
/**
|
||||
* @brief Check, if the repepetition is a iterated one
|
||||
* @brief Check, if the repetition is a iterated one
|
||||
*
|
||||
* @return 0 if not, otherwise a pointer to a vector of points
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public:
|
|||
/**
|
||||
* @brief Indicates that the reader expects strict mode or note
|
||||
*
|
||||
* This is mainly a debugging an testing option but it may be used to verifiy
|
||||
* This is mainly a debugging an testing option but it may be used to verify
|
||||
* the compliance of a file with string or non-strict mode.
|
||||
*
|
||||
* The values are:
|
||||
|
|
|
|||
|
|
@ -1952,7 +1952,7 @@ OASISReader::do_read_text (bool xy_absolute,
|
|||
|
||||
const std::vector<db::Vector> *points = 0;
|
||||
|
||||
// If the repetion is a regular one, convert the repetition into
|
||||
// If the repetition is a regular one, convert the repetition into
|
||||
// a shape array
|
||||
db::Vector a, b;
|
||||
size_t na, nb;
|
||||
|
|
@ -2085,7 +2085,7 @@ OASISReader::do_read_rectangle (bool xy_absolute,
|
|||
|
||||
const std::vector<db::Vector> *points = 0;
|
||||
|
||||
// If the repetion is a regular one, convert the repetition into
|
||||
// If the repetition is a regular one, convert the repetition into
|
||||
// a box array
|
||||
db::Vector a, b;
|
||||
size_t na, nb;
|
||||
|
|
@ -2207,7 +2207,7 @@ OASISReader::do_read_polygon (bool xy_absolute, db::cell_index_type cell_index,
|
|||
|
||||
const std::vector<db::Vector> *points = 0;
|
||||
|
||||
// If the repetion is a regular one, convert the repetition into
|
||||
// If the repetition is a regular one, convert the repetition into
|
||||
// a shape array
|
||||
db::Vector a, b;
|
||||
size_t na, nb;
|
||||
|
|
@ -2376,7 +2376,7 @@ OASISReader::do_read_path (bool xy_absolute, db::cell_index_type cell_index, db:
|
|||
|
||||
const std::vector<db::Vector> *points = 0;
|
||||
|
||||
// If the repetion is a regular one, convert the repetition into
|
||||
// If the repetition is a regular one, convert the repetition into
|
||||
// a shape array
|
||||
db::Vector a, b;
|
||||
size_t na, nb;
|
||||
|
|
@ -2545,7 +2545,7 @@ OASISReader::do_read_trapezoid (unsigned char r, bool xy_absolute,db::cell_index
|
|||
|
||||
const std::vector<db::Vector> *points = 0;
|
||||
|
||||
// If the repetion is a regular one, convert the repetition into
|
||||
// If the repetition is a regular one, convert the repetition into
|
||||
// a shape array
|
||||
db::Vector a, b;
|
||||
size_t na, nb;
|
||||
|
|
@ -2905,7 +2905,7 @@ OASISReader::do_read_ctrapezoid (bool xy_absolute,db::cell_index_type cell_index
|
|||
|
||||
const std::vector<db::Vector> *points = 0;
|
||||
|
||||
// If the repetion is a regular one, convert the repetition into
|
||||
// If the repetition is a regular one, convert the repetition into
|
||||
// a shape array
|
||||
db::Vector a, b;
|
||||
size_t na, nb;
|
||||
|
|
@ -3044,7 +3044,7 @@ OASISReader::do_read_circle (bool xy_absolute, db::cell_index_type cell_index, d
|
|||
|
||||
const std::vector<db::Vector> *points = 0;
|
||||
|
||||
// If the repetion is a regular one, convert the repetition into
|
||||
// If the repetition is a regular one, convert the repetition into
|
||||
// a shape array
|
||||
db::Vector a, b;
|
||||
size_t na, nb;
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ class OASISWriter;
|
|||
* This object will collect objects of the given kind and create
|
||||
* OASIS repetitions then. For this, it creates a hash map collecting all
|
||||
* equivalent objects on "add" and their displacements. When "emit" is called,
|
||||
* these displacements are converted to OASIS repetions and
|
||||
* these displacements are converted to OASIS repetitions and
|
||||
* emitted to the writer.
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ namespace db
|
|||
struct GerberMetaData
|
||||
{
|
||||
/**
|
||||
* @brief Identfies the function of the layer
|
||||
* @brief Identifies the function of the layer
|
||||
*/
|
||||
enum Function
|
||||
{
|
||||
|
|
@ -69,7 +69,7 @@ struct GerberMetaData
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Identfies the position of the layer
|
||||
* @brief Identifies the position of the layer
|
||||
*/
|
||||
enum Position
|
||||
{
|
||||
|
|
@ -501,7 +501,7 @@ protected:
|
|||
/**
|
||||
* @brief This method updates the progress counter
|
||||
*
|
||||
* This method should be called regularily
|
||||
* This method should be called regularly
|
||||
*/
|
||||
void progress_checkpoint ();
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ RS274XApertureBase::produce_linear (const db::DCplxTrans &d, const db::DVector &
|
|||
|
||||
if (! do_produce_linear (from, to)) {
|
||||
|
||||
// fallback: produce flash and employ a Minkowsky sum to generate the resulting structure
|
||||
// fallback: produce flash and employ a Minkowski sum to generate the resulting structure
|
||||
do_produce_flash ();
|
||||
|
||||
double dbu = mp_reader->dbu ();
|
||||
|
|
|
|||
|
|
@ -1067,7 +1067,7 @@ NetTracer::trace (const db::Layout &layout, const db::Cell &cell, const NetTrace
|
|||
db::Box b = c->first.bbox ();
|
||||
double a = c->first.shape ().area ();
|
||||
|
||||
// The ratio theshold of 20 for box/shape area was determined empirically
|
||||
// The ratio threshold of 20 for box/shape area was determined empirically
|
||||
if ((combined_box + b).area () > (asum + a) * 20.0) {
|
||||
++c;
|
||||
--n;
|
||||
|
|
@ -1221,7 +1221,7 @@ NetTracer::trace (const db::Layout &layout, const db::Cell &cell, const NetTrace
|
|||
const NetTracerShape *stop = &m_shapes_graph.find (m_stop_shape)->first;
|
||||
const NetTracerShape *start = &m_shapes_graph.find (m_start_shape)->first;
|
||||
|
||||
// find the shortest path with Dijkstras algorithm
|
||||
// find the shortest path with Dijkstra's algorithm
|
||||
|
||||
std::map<const NetTracerShape *, const NetTracerShape *> previous;
|
||||
std::map<const NetTracerShape *, size_t> cost;
|
||||
|
|
|
|||
|
|
@ -824,7 +824,7 @@ NetTracerDialog::update_info ()
|
|||
db::coord_traits<db::Coord>::area_type area = 0;
|
||||
db::coord_traits<db::Coord>::perimeter_type perimeter = 0;
|
||||
|
||||
// Despite merging, a multitude of seperate non-touching polygons can exist.
|
||||
// Despite merging, a multitude of separate non-touching polygons can exist.
|
||||
for (std::vector <db::Polygon>::iterator j = merged.begin (); j != merged.end (); ++j) {
|
||||
// Sum area
|
||||
area += j->area ();
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ normalize_scene_trans (const QMatrix4x4 &cam_trans, QVector3D &displacement, dou
|
|||
//
|
||||
// this is image invariant (only x,y results are considered) against changes of s (s->s') if
|
||||
//
|
||||
// 1.) (p*d*s+z)/s = (p*d'*s'+z)/s' (because x and y will be devided by this value)
|
||||
// 1.) (p*d*s+z)/s = (p*d'*s'+z)/s' (because x and y will be divided by this value)
|
||||
// 2.) (M*d*s+t)/s = (M*d'*s'+t)/s' for [x] and [y]
|
||||
//
|
||||
// or
|
||||
|
|
|
|||
|
|
@ -309,7 +309,7 @@ D25ViewWidget::keyPressEvent (QKeyEvent *event)
|
|||
|
||||
if (! top_view () && (event->modifiers () & Qt::ControlModifier) != 0) {
|
||||
|
||||
// Ctrl + left/right changes azumith
|
||||
// Ctrl + left/right changes azimuths
|
||||
|
||||
double d = (event->key () == Qt::Key_Right ? 2 : -2);
|
||||
|
||||
|
|
|
|||
|
|
@ -806,7 +806,7 @@ XORWorker::do_perform_deep (const XORTask *xor_task)
|
|||
rr.size (((*t + 1) / 2), (unsigned int)2, false);
|
||||
}
|
||||
|
||||
// TODO: no clipping for hieararchical mode yet
|
||||
// TODO: no clipping for hierarchical mode yet
|
||||
mp_job->issue_region (tol_index, xor_task->layer_index (), rr);
|
||||
|
||||
mp_job->add_results (xor_task->lp (), *t, rr.count (), xor_task->ix (), xor_task->iy ());
|
||||
|
|
|
|||
|
|
@ -331,7 +331,7 @@ PythonInterpreter::PythonInterpreter (bool embedded)
|
|||
#endif
|
||||
|
||||
// Build two objects that provide a way to redirect stdout, stderr
|
||||
// and instatiate them two times for stdout and stderr.
|
||||
// and instantiate them two times for stdout and stderr.
|
||||
PYAChannelObject::make_class (module);
|
||||
m_stdout_channel = PythonRef (PYAChannelObject::create (gsi::Console::OS_stdout));
|
||||
m_stdout = PythonPtr (m_stdout_channel.get ());
|
||||
|
|
@ -401,7 +401,7 @@ PythonInterpreter::remove_package_location (const std::string & /*package_path*/
|
|||
void
|
||||
PythonInterpreter::require (const std::string & /*filename*/)
|
||||
{
|
||||
// TOOD: is there a way to implement that?
|
||||
// TODO: is there a way to implement that?
|
||||
throw tl::Exception (tl::to_string (tr ("'require' not implemented for Python interpreter")));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ public:
|
|||
/**
|
||||
* @brief Ignores the next exception
|
||||
*
|
||||
* This is useful for suppressing reraised exceptions in the debugger.
|
||||
* This is useful for suppressing re-raised exceptions in the debugger.
|
||||
*/
|
||||
void ignore_next_exception ();
|
||||
|
||||
|
|
@ -160,17 +160,17 @@ public:
|
|||
void load_file (const std::string &filename);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_string
|
||||
* @brief Implementation of gsi::Interpreter::eval_string
|
||||
*/
|
||||
void eval_string (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_expr
|
||||
* @brief Implementation of gsi::Interpreter::eval_expr
|
||||
*/
|
||||
tl::Variant eval_expr (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_string_and_print
|
||||
* @brief Implementation of gsi::Interpreter::eval_string_and_print
|
||||
*/
|
||||
void eval_string_and_print (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@ unsigned long long python2c_func<unsigned long long>::operator() (PyObject *rval
|
|||
template <>
|
||||
__int128 python2c_func<__int128>::operator() (PyObject *rval)
|
||||
{
|
||||
// TOOD: this is pretty simplistic
|
||||
// TODO: this is pretty simplistic
|
||||
#if PY_MAJOR_VERSION < 3
|
||||
if (PyInt_Check (rval)) {
|
||||
return PyInt_AsLong (rval);
|
||||
|
|
@ -393,7 +393,7 @@ object_to_python (void *obj, PYAObjectBase *self, const gsi::ArgType &atype)
|
|||
* @brief Correct constness if a reference is const and a non-const reference is required
|
||||
* HINT: this is a workaround for the fact that unlike C++, Python does not have const or non-const
|
||||
* references. Since a reference is identical with the object it points to, there are only const or non-const
|
||||
* objects. We deliver const objects first, but if a non-const version is requestes, the
|
||||
* objects. We deliver const objects first, but if a non-const version is requested, the
|
||||
* object turns into a non-const one. This may be confusing but provides a certain level
|
||||
* of "constness", at least until there is another non-const reference for that object.
|
||||
*/
|
||||
|
|
@ -607,7 +607,7 @@ PyObject *c2python_func<const QString &>::operator() (const QString &qs)
|
|||
if (qs.isNull ()) {
|
||||
Py_RETURN_NONE;
|
||||
} else {
|
||||
// TODO: can be done more efficently
|
||||
// TODO: can be done more efficiently
|
||||
std::string c (tl::to_string (qs));
|
||||
return c2python (c);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -446,7 +446,7 @@ struct writer<gsi::MapType>
|
|||
|
||||
/**
|
||||
* @brief A serialization wrapper (write mode)
|
||||
* Specialisation for objects
|
||||
* Specialization for objects
|
||||
*/
|
||||
template <>
|
||||
struct writer<gsi::ObjectType>
|
||||
|
|
@ -530,7 +530,7 @@ struct writer<gsi::ObjectType>
|
|||
|
||||
/**
|
||||
* @brief A serialization wrapper (write mode)
|
||||
* Specialisation for void
|
||||
* Specialization for void
|
||||
*/
|
||||
template <>
|
||||
struct writer<gsi::VoidType>
|
||||
|
|
@ -548,7 +548,7 @@ push_arg (const gsi::ArgType &atype, gsi::SerialArgs &aserial, PyObject *arg, tl
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper
|
||||
* @brief Deserialization wrapper
|
||||
*
|
||||
* The default implementation is for POD types, strings and variants
|
||||
*/
|
||||
|
|
@ -582,7 +582,7 @@ struct reader
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for const char *
|
||||
* @brief Deserialization wrapper: specialization for const char *
|
||||
*
|
||||
* Without that would would have to handle void *&, void * const &, ...
|
||||
* TODO: right now these types are not supported.
|
||||
|
|
@ -601,7 +601,7 @@ struct reader<void *>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for strings
|
||||
* @brief Deserialization wrapper: specialization for strings
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::StringType>
|
||||
|
|
@ -618,7 +618,7 @@ struct reader<gsi::StringType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for byte arrays
|
||||
* @brief Deserialization wrapper: specialization for byte arrays
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::ByteArrayType>
|
||||
|
|
@ -699,7 +699,7 @@ PyObject *object_from_variant (tl::Variant &var, PYAObjectBase *self, const gsi:
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for variants
|
||||
* @brief Deserialization wrapper: specialization for variants
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::VariantType>
|
||||
|
|
@ -723,7 +723,7 @@ struct reader<gsi::VariantType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for vectors
|
||||
* @brief Deserialization wrapper: specialization for vectors
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::VectorType>
|
||||
|
|
@ -743,7 +743,7 @@ struct reader<gsi::VectorType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for maps
|
||||
* @brief Deserialization wrapper: specialization for maps
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::MapType>
|
||||
|
|
@ -764,7 +764,7 @@ struct reader<gsi::MapType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for object
|
||||
* @brief Deserialization wrapper: specialization for object
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::ObjectType>
|
||||
|
|
@ -781,7 +781,7 @@ struct reader<gsi::ObjectType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for void
|
||||
* @brief Deserialization wrapper: specialization for void
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::VoidType>
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ test_arg (const gsi::ArgType &atype, PyObject *arg, bool loose);
|
|||
* @brief Correct constness if a reference is const and a non-const reference is required
|
||||
* HINT: this is a workaround for the fact that unlike C++, Python does not have const or non-const
|
||||
* references. Since a reference is identical with the object it points to, there are only const or non-const
|
||||
* objects. We deliver const objects first, but if a non-const version is requestes, the
|
||||
* objects. We deliver const objects first, but if a non-const version is requested, the
|
||||
* object turns into a non-const one. This may be confusing but provides a certain level
|
||||
* of "constness", at least until there is another non-const reference for that object.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -376,7 +376,7 @@ PYAObjectBase::initialize_callbacks ()
|
|||
|
||||
PythonRef type_ref ((PyObject *) Py_TYPE (py_object ()), false /*borrowed*/);
|
||||
|
||||
// Locate the callback-enabled methods set by Python tpye object (pointer)
|
||||
// Locate the callback-enabled methods set by Python type object (pointer)
|
||||
// NOTE: I'm not quite sure whether the type object pointer is a good key
|
||||
// for the cache. It may change since class objects may expire too if
|
||||
// classes are put on the heap. Hence we have to keep a reference which is
|
||||
|
|
@ -409,7 +409,7 @@ PYAObjectBase::initialize_callbacks ()
|
|||
// possible to reimplement a method through instance attributes (rare case, I hope).
|
||||
// In addition, if we'd use instance attributes we create circular references
|
||||
// (self/callback to method, method to self).
|
||||
// TOOD: That may happen too often, i.e. if the Python class does not reimplement the virtual
|
||||
// TODO: That may happen too often, i.e. if the Python class does not reimplement the virtual
|
||||
// method, but the C++ class defines a method hook that the reimplementation can call.
|
||||
// We don't want to produce a lot of overhead for the Qt classes here.
|
||||
PythonRef py_attr = PyObject_GetAttrString ((PyObject *) Py_TYPE (py_object ()), nstr);
|
||||
|
|
@ -476,7 +476,7 @@ PYAObjectBase::initialize_callbacks ()
|
|||
// possible to reimplement a method through instance attributes (rare case, I hope).
|
||||
// In addition, if we'd use instance attributes we create circular references
|
||||
// (self/callback to method, method to self).
|
||||
// TOOD: That may happen too often, i.e. if the Python class does not reimplement the virtual
|
||||
// TODO: That may happen too often, i.e. if the Python class does not reimplement the virtual
|
||||
// method, but the C++ class defines a method hook that the reimplementation can call.
|
||||
// We don't want to produce a lot of overhead for the Qt classes here.
|
||||
PythonRef py_attr = PyObject_GetAttrString ((PyObject *) Py_TYPE (py_object ()), nstr);
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public:
|
|||
/**
|
||||
* @brief Ignores the next exception
|
||||
*
|
||||
* This is useful for suppressing reraised exceptions in the debugger.
|
||||
* This is useful for suppressing re-raised exceptions in the debugger.
|
||||
*/
|
||||
void ignore_next_exception ();
|
||||
|
||||
|
|
@ -92,17 +92,17 @@ public:
|
|||
void load_file (const std::string &filename);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_string
|
||||
* @brief Implementation of gsi::Interpreter::eval_string
|
||||
*/
|
||||
void eval_string (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_expr
|
||||
* @brief Implementation of gsi::Interpreter::eval_expr
|
||||
*/
|
||||
tl::Variant eval_expr (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_string_and_print
|
||||
* @brief Implementation of gsi::Interpreter::eval_string_and_print
|
||||
*/
|
||||
void eval_string_and_print (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
|
|
|
|||
|
|
@ -703,7 +703,7 @@ struct RubyInterpreterPrivateData
|
|||
} \
|
||||
} \
|
||||
if (__exc != Qnil) { \
|
||||
/* Reraise the exception without blocking in the debugger */ \
|
||||
/* Re-raise the exception without blocking in the debugger */ \
|
||||
/* TODO: should not access private data */ \
|
||||
RubyInterpreter::instance ()->d->block_exceptions = true; \
|
||||
rb_exc_raise (__exc); \
|
||||
|
|
@ -836,7 +836,7 @@ special_method_impl (const gsi::MethodBase *meth, int argc, VALUE *argv, VALUE s
|
|||
return destroyed (self);
|
||||
} else if (smt == gsi::MethodBase::Assign) {
|
||||
|
||||
// this is either assign or dup in diguise
|
||||
// this is either assign or dup in disguise
|
||||
tl_assert (argc == 1);
|
||||
return assign (self, argv [0]);
|
||||
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public:
|
|||
/**
|
||||
* @brief Ignores the next exception
|
||||
*
|
||||
* This is useful for suppressing reraised exceptions in the debugger.
|
||||
* This is useful for suppressing re-raised exceptions in the debugger.
|
||||
*/
|
||||
void ignore_next_exception ();
|
||||
|
||||
|
|
@ -105,17 +105,17 @@ public:
|
|||
void load_file (const std::string &filename);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_string
|
||||
* @brief Implementation of gsi::Interpreter::eval_string
|
||||
*/
|
||||
void eval_string (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_expr
|
||||
* @brief Implementation of gsi::Interpreter::eval_expr
|
||||
*/
|
||||
tl::Variant eval_expr (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_string_and_print
|
||||
* @brief Implementation of gsi::Interpreter::eval_string_and_print
|
||||
*/
|
||||
void eval_string_and_print (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ VALUE object_to_ruby (void *obj, Proxy *self, const gsi::ArgType &atype)
|
|||
* @brief Correct constness if a reference is const and a non-const reference is required
|
||||
* HINT: this is a workaround for the fact that unlike C++, Ruby does not have const or non-const
|
||||
* references. Since a reference is identical with the object it points to, there are only const or non-const
|
||||
* objects. We deliver const objects first, but if a non-const version is requestes, the
|
||||
* objects. We deliver const objects first, but if a non-const version is requested, the
|
||||
* object turns into a non-const one. This may be confusing but provides a certain level
|
||||
* of "constness", at least until there is another non-const reference for that object.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -295,7 +295,7 @@ inline unsigned long long ruby2c<unsigned long long> (VALUE rval)
|
|||
template <>
|
||||
inline __int128 ruby2c<__int128> (VALUE rval)
|
||||
{
|
||||
// TOOD: this is pretty simplistic
|
||||
// TODO: this is pretty simplistic
|
||||
return rba_safe_num2dbl (rval);
|
||||
}
|
||||
#endif
|
||||
|
|
@ -442,7 +442,7 @@ inline VALUE c2ruby<unsigned long long> (const unsigned long long &c)
|
|||
template <>
|
||||
inline VALUE c2ruby<__int128> (const __int128 &c)
|
||||
{
|
||||
// TOOD: this is pretty simplistic
|
||||
// TODO: this is pretty simplistic
|
||||
return rb_float_new (double (c));
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ inline void destroy_object (const gsi::ClassBase *cls, void *obj)
|
|||
|
||||
/**
|
||||
* @brief A GC disabler
|
||||
* By instantiating this object, the gc is disabled while the object is alife.
|
||||
* By instantiating this object, the gc is disabled while the object is alive.
|
||||
* Specifically in callbacks it's important to disable the GC to avoid undesired
|
||||
* side effects.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -481,7 +481,7 @@ struct writer<gsi::MapType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief A specialisation of the write function for vector types
|
||||
* @brief A specialization of the write function for vector types
|
||||
*/
|
||||
template <>
|
||||
struct writer <gsi::ObjectType>
|
||||
|
|
@ -576,7 +576,7 @@ push_arg (const gsi::ArgType &atype, gsi::SerialArgs &aserial, VALUE arg, tl::He
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper
|
||||
* @brief Deserialization wrapper
|
||||
*
|
||||
* The default implementation is for POD types, strings and variants
|
||||
*/
|
||||
|
|
@ -610,7 +610,7 @@ struct reader
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for void *
|
||||
* @brief Deserialization wrapper: specialization for void *
|
||||
*
|
||||
* Without that would would have to handle void *&, void * const &, ...
|
||||
* TODO: right now these types are not supported.
|
||||
|
|
@ -629,7 +629,7 @@ struct reader<void *>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for strings
|
||||
* @brief Deserialization wrapper: specialization for strings
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::StringType>
|
||||
|
|
@ -646,7 +646,7 @@ struct reader<gsi::StringType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for strings
|
||||
* @brief Deserialization wrapper: specialization for strings
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::ByteArrayType>
|
||||
|
|
@ -720,7 +720,7 @@ static VALUE object_from_variant (tl::Variant &var, Proxy *self, const gsi::ArgT
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for variants
|
||||
* @brief Deserialization wrapper: specialization for variants
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::VariantType>
|
||||
|
|
@ -744,7 +744,7 @@ struct reader<gsi::VariantType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for vectors
|
||||
* @brief Deserialization wrapper: specialization for vectors
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::VectorType>
|
||||
|
|
@ -764,7 +764,7 @@ struct reader<gsi::VectorType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for maps
|
||||
* @brief Deserialization wrapper: specialization for maps
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::MapType>
|
||||
|
|
@ -785,7 +785,7 @@ struct reader<gsi::MapType>
|
|||
};
|
||||
|
||||
/**
|
||||
* @brief Deseralisation wrapper: specialization for objects
|
||||
* @brief Deserialization wrapper: specialization for objects
|
||||
*/
|
||||
template <>
|
||||
struct reader<gsi::ObjectType>
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ inline void rb_set_progname (VALUE pn)
|
|||
* functionality, the rb_sourcefile () variable is copied into the RNode object, as this
|
||||
* variable is usually updated with the current sourcefile name.
|
||||
* In effect, the string referenced by this variable participates in the GC mark&sweep
|
||||
* steps which leads to unpredicable results, if this variable is not set to a valid
|
||||
* steps which leads to unpredictable results, if this variable is not set to a valid
|
||||
* string (ruby) buffer or 0.
|
||||
*
|
||||
* As a consequence, this function must be called before rb_protect and likely other xx_protect
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ public:
|
|||
/**
|
||||
* @brief Ignores the next exception
|
||||
*
|
||||
* This is useful for suppressing reraised exceptions in the debugger.
|
||||
* This is useful for suppressing re-raised exceptions in the debugger.
|
||||
*/
|
||||
void ignore_next_exception ();
|
||||
|
||||
|
|
@ -89,17 +89,17 @@ public:
|
|||
void load_file (const std::string &filename);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_string
|
||||
* @brief Implementation of gsi::Interpreter::eval_string
|
||||
*/
|
||||
void eval_string (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_expr
|
||||
* @brief Implementation of gsi::Interpreter::eval_expr
|
||||
*/
|
||||
tl::Variant eval_expr (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
/**
|
||||
* @brief Implementatiom of gsi::Interpreter::eval_string_and_print
|
||||
* @brief Implementation of gsi::Interpreter::eval_string_and_print
|
||||
*/
|
||||
void eval_string_and_print (const char *string, const char *filename = 0, int line = 1, int context = -1);
|
||||
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ Class<rdb::Cell> decl_RdbCell ("rdb", "RdbCell",
|
|||
"This method has been introduced in version 0.23."
|
||||
) +
|
||||
gsi::iterator_ext ("each_item", &cell_items_begin, &cell_items_end,
|
||||
"@brief Iterates over all iterms inside the database which are associated with this cell\n"
|
||||
"@brief Iterates over all items inside the database which are associated with this cell\n"
|
||||
"\n"
|
||||
"This method has been introduced in version 0.23."
|
||||
) +
|
||||
|
|
@ -299,7 +299,7 @@ Class<rdb::Category> decl_RdbCategory ("rdb", "RdbCategory",
|
|||
"This method has been introduced in version 0.23."
|
||||
) +
|
||||
gsi::iterator_ext ("each_item", &category_items_begin, &category_items_end,
|
||||
"@brief Iterates over all iterms inside the database which are associated with this category\n"
|
||||
"@brief Iterates over all items inside the database which are associated with this category\n"
|
||||
"\n"
|
||||
"This method has been introduced in version 0.23."
|
||||
) +
|
||||
|
|
@ -402,7 +402,7 @@ Class<rdb::Category> decl_RdbCategory ("rdb", "RdbCategory",
|
|||
),
|
||||
"@brief A category inside the report database\n"
|
||||
"Every item in the report database is assigned to a category. A category is a DRC rule check for example. "
|
||||
"Categories can be organised hierarchically, i.e. a category may have sub-categories. Item counts are summarized "
|
||||
"Categories can be organized hierarchically, i.e. a category may have sub-categories. Item counts are summarized "
|
||||
"for categories and items belonging to sub-categories of one category can be browsed together for example. "
|
||||
"As a general rule, categories not being leaf categories (having child categories) may not have items. "
|
||||
);
|
||||
|
|
@ -1339,18 +1339,18 @@ Class<rdb::Database> decl_ReportDatabase ("rdb", "ReportDatabase",
|
|||
"@brief Reset the modified flag\n"
|
||||
) +
|
||||
gsi::iterator_ext ("each_item", &database_items_begin, &database_items_end,
|
||||
"@brief Iterates over all iterms inside the database\n"
|
||||
"@brief Iterates over all items inside the database\n"
|
||||
) +
|
||||
gsi::iterator_ext ("each_item_per_cell", &database_items_begin_cell, &database_items_end_cell, gsi::arg ("cell_id"),
|
||||
"@brief Iterates over all iterms inside the database which are associated with the given cell\n"
|
||||
"@brief Iterates over all items inside the database which are associated with the given cell\n"
|
||||
"@param cell_id The ID of the cell for which all associated items should be retrieved\n"
|
||||
) +
|
||||
gsi::iterator_ext ("each_item_per_category", &database_items_begin_cat, &database_items_end_cat, gsi::arg ("category_id"),
|
||||
"@brief Iterates over all iterms inside the database which are associated with the given category\n"
|
||||
"@brief Iterates over all items inside the database which are associated with the given category\n"
|
||||
"@param category_id The ID of the category for which all associated items should be retrieved\n"
|
||||
) +
|
||||
gsi::iterator_ext ("each_item_per_cell_and_category", &database_items_begin_cc, &database_items_end_cc, gsi::arg ("cell_id"), gsi::arg ("category_id"),
|
||||
"@brief Iterates over all iterms inside the database which are associated with the given cell and category\n"
|
||||
"@brief Iterates over all items inside the database which are associated with the given cell and category\n"
|
||||
"@param cell_id The ID of the cell for which all associated items should be retrieved\n"
|
||||
"@param category_id The ID of the category for which all associated items should be retrieved\n"
|
||||
) +
|
||||
|
|
@ -1371,13 +1371,13 @@ Class<rdb::Database> decl_ReportDatabase ("rdb", "ReportDatabase",
|
|||
"The database is always saved in KLayout's XML-based format.\n"
|
||||
),
|
||||
"@brief The report database object\n"
|
||||
"A report database is organised around a set of items which are associated with cells and categories. "
|
||||
"Categories can be organised hierarchically by created sub-categories of other categories. "
|
||||
"A report database is organized around a set of items which are associated with cells and categories. "
|
||||
"Categories can be organized hierarchically by created sub-categories of other categories. "
|
||||
"Cells are associated with layout database cells and can come with a example instantiation if the layout "
|
||||
"database does not allow a unique association of the cells.\n"
|
||||
"Items in the database can have a variety of attributes: values, tags and an image object. Values are "
|
||||
"geometrical objects for example. Tags are a set of boolean flags and an image can be attached to an item "
|
||||
"to provide a screenshot for visualisation for example.\n"
|
||||
"to provide a screenshot for visualization for example.\n"
|
||||
"This is the main report database object. The basic use case of this object is to create one inside a \\LayoutView and "
|
||||
"populate it with items, cell and categories or load it from a file. Another use case is to create a standalone "
|
||||
"ReportDatabase object and use the methods provided to perform queries or to populate it.\n"
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ class Items;
|
|||
* An item is member of exactly one category. This can be a check for example.
|
||||
* A category is described by a name and a description string. An Id is provided
|
||||
* to reference this category from actual report items.
|
||||
* Categories can be organised hierarchically for which a category collection
|
||||
* Categories can be organized hierarchically for which a category collection
|
||||
* is provided and member of the individual category.
|
||||
*
|
||||
* A category can only be created by the database object, since the
|
||||
|
|
|
|||
Loading…
Reference in New Issue