X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fbase%2Fpattern.cpp;h=b1f404623178ead5a330954d2f9e1e03eb822755;hb=2ee84c5948ede7fc2f7b4435c5edef42a030ac05;hp=5d14519ac524c21b790b143b8ba2eb81aa463363;hpb=3239ef39dcee08fa6e8cd68cdf2727fc68cc7a8c;p=architektonas diff --git a/src/base/pattern.cpp b/src/base/pattern.cpp index 5d14519..b1f4046 100644 --- a/src/base/pattern.cpp +++ b/src/base/pattern.cpp @@ -26,30 +26,13 @@ * * @param fileName File name of a DXF file defining the pattern */ -RS_Pattern::RS_Pattern(const QString & fileName): RS_EntityContainer(NULL) +Pattern::Pattern(const QString & file): EntityContainer(NULL), + filename(file), loaded(false) { - RS_DEBUG->print("RS_Pattern::RS_Pattern() "); - - this->fileName = fileName; - loaded = false; + DEBUG->print("Pattern::Pattern() "); } -/** - * Constructor. - * - * @param fileName File name of a PAT file which defines this - * pattern among others. - * @param name Pattern name. - * - */ -/*RS_Pattern::RS_Pattern(const QString& fileName, const QString& name) - : RS_EntityContainer(NULL) { - this->fileName = fileName; - this->name = name; - loaded = false; -}*/ - -RS_Pattern::~RS_Pattern() +Pattern::~Pattern() { } @@ -60,27 +43,26 @@ RS_Pattern::~RS_Pattern() * @param filename File name of the pattern file (without path and * extension or full path. */ -bool RS_Pattern::loadPattern() +bool Pattern::loadPattern() { if (loaded) return true; - RS_DEBUG->print("RS_Pattern::loadPattern"); - + DEBUG->print("Pattern::loadPattern"); QString path; // Search for the appropriate pattern if we have only the name of the pattern: - if (!fileName.toLower().contains(".dxf")) + if (!filename.toLower().contains(".dxf")) { - QStringList patterns = RS_SYSTEM->getPatternList(); + QStringList patterns = SYSTEM->getPatternList(); QFileInfo file; for(QStringList::Iterator it=patterns.begin(); it!=patterns.end(); it++) { - if (QFileInfo(*it).baseName().toLower() == fileName.toLower()) + if (QFileInfo(*it).baseName().toLower() == filename.toLower()) { path = *it; - RS_DEBUG->print("Pattern found: %s", path.toLatin1().data()); + DEBUG->print("Pattern found: %s", path.toAscii().data()); break; } } @@ -88,47 +70,45 @@ bool RS_Pattern::loadPattern() // We have the full path of the pattern: else { - path = fileName; + path = filename; } // No pattern paths found: if (path.isEmpty()) { - RS_DEBUG->print("No pattern \"%s\"available.", fileName.toLatin1().data()); + DEBUG->print("No pattern \"%s\"available.", filename.toAscii().data()); return false; } - Drawing * gr = new Drawing(); + Drawing * drawing = new Drawing(); // TODO: Find out why the new dxf filter doesn't work for patterns: - RS_FILEIO->fileImport(*gr, path, RS2::FormatDXF1); + FILEIO->fileImport(*drawing, path, RS2::FormatDXF1); - for(RS_Entity * e=gr->firstEntity(); e!=NULL; e=gr->nextEntity()) + for(Entity * e=drawing->firstEntity(); e!=NULL; e=drawing->nextEntity()) { if (e->rtti() == RS2::EntityLine || e->rtti() == RS2::EntityArc) { - RS_Layer * l = e->getLayer(); - RS_Entity * cl = e->clone(); - cl->reparent(this); + Entity * clone = e->clone(); + clone->reparent(this); + Layer * layer = e->getLayer(); - if (l != NULL) - { - cl->setLayer(l->getName()); - } + if (layer) + clone->setLayer(layer->getName()); - addEntity(cl); + addEntity(clone); } } - delete gr; + delete drawing; loaded = true; - RS_DEBUG->print("RS_Pattern::loadPattern: OK"); + DEBUG->print("Pattern::loadPattern: OK"); return true; } /** @return the fileName of this pattern. */ -QString RS_Pattern::getFileName() const +QString Pattern::getFileName() const { - return fileName; + return filename; }