ChessWidget::ChessWidget(QWidget *parent) : QWidget(parent) , last_pos_(0) , selected_(false) , chess_(new Chess) { buildPixmap(); this->setWindowIcon(QIcon(QPixmap(":/pic/rk.png"))); this->setWindowTitle("中国象棋"); this->setFixedSize(pixmaps_[0].size()); }
void buildFile(QTextStream &ts, const QString &group, const QString &fileName, const QString &pluginName, const QString &iconPath) { KConfig input(fileName, true, false); input.setGroup("Global"); QMap< QString, QString > MainMap; MainMap.insert("PluginName", input.readEntry("PluginName", pluginName)); MainMap.insert("PluginNameLower", input.readEntry("PluginName", pluginName).lower()); MainMap.insert("Init", input.readEntry("Init", "")); MainMap.insert("Destroy", input.readEntry("Destroy", "")); ts << classHeader << endl; QStringList includes = input.readListEntry("Includes", ','); for(uint idx = 0; idx < includes.count(); ++idx) ts << "#include <" << includes[idx] << ">" << endl; QStringList classes = input.groupList(); classes.remove(classes.find("Global")); // Autogenerate widget includes here for(uint idx = 0; idx < classes.count(); ++idx) ts << buildWidgetInclude(classes[idx], input) << endl; // Generate embedded icons if(!iconPath.isEmpty()) { for(uint idx = 0; idx < classes.count(); ++idx) ts << buildPixmap(classes[idx], input, iconPath) << endl; ts << "#define EMBED_IMAGES" << endl; } // Generate the main class code. ts << KMacroExpander::expandMacros(classDef, MainMap) << endl; // Autogenerate widget defs here for(uint idx = 0; idx < classes.count(); ++idx) ts << buildWidgetDef(classes[idx], input, group) << endl; ts << KMacroExpander::expandMacros(endCtor, MainMap) << endl; // Autogenerate create code here... for(uint idx = 0; idx < classes.count(); ++idx) ts << buildWidgetCreate(classes[idx], input) << endl; ts << KMacroExpander::expandMacros(endCreate, MainMap) << endl; }