📄 mainwidget.cpp
字号:
/* file : 'MainWidget.cpp' */
#include "MainWidget.h"
#include <stdio.h>
#include <string.h>
#include <QFile>
#include <QTextStream>
#include <QString>
#include <QDir>
#include <QStringList>
#include <QDirIterator>
#include <QRegExp>
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
MainWidget::MainWidget( QWidget* parent )
: QFrame( parent )
{
p_generate_makefile( );
resize( 320, 200 );
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
MainWidget::~MainWidget( void )
{
}
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
//void MainWidget::p_generate_makefile( void )
//{
// QString path_current = QString( "./" );
// QString path_include = QString( "include/" );
// QString path_src = QString( "src/" );
//
// QString path_2D = QString( "2D/" );
// QString path_Math = QString( "Math/" );
// QString path_Core = QString( "Core/" );
// QString path_CPP = QString( "C++/" );
// QString path_Utils = QString( "Utils/" );
//
// QFile file( QString( "makefile" ) );
// file.open( QFile::WriteOnly | QFile::Text );
// QTextStream stream( &file );
//
// // first line of the makefile
// stream << QString( "INCLUDE = include/" ) << endl;
// stream << QString( "SRC = " );
//
// QDir dir;
// dir.setFilter( QDir::NoDotAndDotDot | QDir::Files );
//
//
// // start list files "src/2D/" directory
// dir.setPath( path_src + path_2D );
// QStringList lst_src_2D = dir.entryList( );
// for( int i = 0; i < lst_src_2D.count( ); i++ ) {
// stream << path_src + path_2D + lst_src_2D[ i ] + QString( " \\" ) << endl;
// }
//
// // then do the same with "src/Core/ directory
// dir.setPath( path_src + path_Core );
// QStringList lst_src_Core = dir.entryList( );
// for( int i = 0; i < lst_src_Core.count( ); i++ ) {
// stream << path_src + path_Core + lst_src_Core[ i ] + QString( " \\" ) << endl;
// }
//
// // then do the same with "src/Math/ directory
// dir.setPath( path_src + path_Math );
// QStringList lst_src_Math = dir.entryList( );
// for( int i = 0; i < lst_src_Math.count( ); i++ ) {
// stream << path_src + path_Math + lst_src_Math[ i ] + QString( " \\" ) << endl;
// }
//
// // then do the same with "src/Utils/ directory
// dir.setPath( path_src + path_Utils );
// QStringList lst_src_Utils = dir.entryList( );
// for( int i = 0; i < lst_src_Utils.count( ); i++ ) {
// stream << path_src + path_Utils + lst_src_Utils[ i ] + QString( " \\" ) << endl;
// }
//
// stream << QString( "Demo.cpp" ) << QString( " \\" ) << endl;
// stream << QString( "main.cpp" ) << endl;
//
// stream << QString( "all:" ) << endl;
// stream << QString( "\t" ) << QString( "gcc -I$(INCLUDE) -o Esposito-proj1.exe $(SRC) " ) + QString( "-lstdc++ -lglut -lGLU -lGL" ) << endl;
// file.close( );
// return;
//}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
void MainWidget::p_generate_makefile( void )
{
QFile file( QString( "makefile.txt" ) );
file.open( QFile::WriteOnly | QFile::Text );
QTextStream stream( &file );
// first line of the makefile
stream << QString( "INCLUDE = include/" ) << endl;
stream << QString( "SRC = " );
QStringList lst_inc;
QStringList lst_src;
QRegExp regexp_src( QString( ".cpp$" ) );
QRegExp regexp_inc( QString( ".h$" ) );
QString current;
QDirIterator it( "./", QDirIterator::Subdirectories );
while( it.hasNext( ) ) {
current = it.next( );
if( current.contains( regexp_src ) ) {
lst_src.append( current );
}
}
for( int i = 0; i < lst_src.count( ); i++ ) {
current = lst_src[ i ];
if( current.contains( QString( "./" ) ) ) {
current = current.remove( QString( "./" ) );
}
stream << current;
if( i == lst_src.count( ) - 1 ) {
stream << endl;
} else {
stream << QString( " \\" ) << endl;
}
}
stream << QString( "all:" ) << endl;
stream << QString( "\t" ) << QString( "gcc -I$(INCLUDE) -o Esposito-proj4-Buggy-Alpha.exe $(SRC) " ) + QString( "-lstdc++ -lglut -lGLU -lGL" ) << endl;
file.close( );
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -