From 5f61e098a8c4195ebd7db24c4a28ed06357dc117 Mon Sep 17 00:00:00 2001 From: Benoit Autheman Date: Tue, 6 Feb 2007 21:20:27 +0000 Subject: [PATCH] Import the trees sample --- tests/trees/MainWindow.cpp | 112 ++++++++++++ tests/trees/MainWindow.h | 57 ++++++ tests/trees/MainWindow.ui | 49 +++++ tests/trees/app.cpp | 35 ++++ tests/trees/images/gradblue.png | Bin 0 -> 2118 bytes tests/trees/images/gradgreen.png | Bin 0 -> 2016 bytes tests/trees/images/gradorange.png | Bin 0 -> 2017 bytes tests/trees/images/layout.png | Bin 0 -> 902 bytes tests/trees/images/qanava_minus.png | Bin 0 -> 239 bytes tests/trees/images/qanava_pan.png | Bin 0 -> 606 bytes tests/trees/images/qanava_plus.png | Bin 0 -> 312 bytes tests/trees/images/qanava_zoom.png | Bin 0 -> 589 bytes tests/trees/images/qanava_zoomin.png | Bin 0 -> 810 bytes tests/trees/images/qanava_zoomout.png | Bin 0 -> 800 bytes tests/trees/images/qanava_zoomwindow.png | Bin 0 -> 589 bytes tests/trees/test_trees.vcproj | 301 +++++++++++++++++++++++++++++++ tests/trees/tree.xml | 30 +++ tests/trees/trees.pro | 29 +++ 18 files changed, 613 insertions(+) create mode 100644 tests/trees/MainWindow.cpp create mode 100644 tests/trees/MainWindow.h create mode 100644 tests/trees/MainWindow.ui create mode 100644 tests/trees/app.cpp create mode 100644 tests/trees/images/gradblue.png create mode 100644 tests/trees/images/gradgreen.png create mode 100644 tests/trees/images/gradorange.png create mode 100644 tests/trees/images/layout.png create mode 100644 tests/trees/images/qanava_minus.png create mode 100644 tests/trees/images/qanava_pan.png create mode 100644 tests/trees/images/qanava_plus.png create mode 100644 tests/trees/images/qanava_zoom.png create mode 100644 tests/trees/images/qanava_zoomin.png create mode 100644 tests/trees/images/qanava_zoomout.png create mode 100644 tests/trees/images/qanava_zoomwindow.png create mode 100644 tests/trees/test_trees.vcproj create mode 100644 tests/trees/tree.xml create mode 100644 tests/trees/trees.pro diff --git a/tests/trees/MainWindow.cpp b/tests/trees/MainWindow.cpp new file mode 100644 index 0000000..6811b61 --- /dev/null +++ b/tests/trees/MainWindow.cpp @@ -0,0 +1,112 @@ +//----------------------------------------------------------------------------- +// This file is a part of the Qanava software. +// +// \file canMainWindow.cpp +// \author Benoit Autheman (benoit@libqanava.org) +// \date 2005 November 11 +//----------------------------------------------------------------------------- + + +// Qanava headers +#include "../../src/qanRepository.h" +#include "../../src/qanGraphItemModel.h" +#include "../../src/qanGraphItemView.h" +#include "../../src/qanGrid.h" +#include "../../src/qanTreeLayout.h" +#include "./mainWindow.h" + + +// QT headers +#include +#include +#include +#include +#include +#include + + +using namespace qan; + +void generateBranch( Graph& _graph, Node& superNode, int depth, QProgressDialog* progress, QApplication* app, bool root = false ) +{ + if ( --depth < 1 ) + return; + + int subNodeCount = 1 + ( rand( ) % 4 ); + app->processEvents( ); + if ( root ) + progress->setMaximum( subNodeCount ); + + for ( int n = 0; n < subNodeCount; n++ ) + { + if ( root ) + { + app->processEvents( ); + progress->setValue( n ); + if ( progress->wasCanceled( ) ) + break; + } + + QString label; + label = "Node "; + label += QString::number( _graph.getNodeCount( ) ); + Node* node = _graph.addNode( label ); + _graph.addEdge( superNode, *node ); + + bool goDeeper = ( rand( ) % 3 ); + if ( goDeeper ) + generateBranch( _graph, *node, depth, progress, app ); + } +} + +void generateTree( Graph& _graph, QProgressDialog* progress, QApplication* app, int depth = 5 ) +{ + Node* root = _graph.addNode( "Root" ); + if ( root != 0 ) + generateBranch( _graph, *root, depth, progress, app, true ); +} + +//----------------------------------------------------------------------------- +MainWindow::MainWindow( QApplication* application, QWidget* parent ) : + QMainWindow( parent ), + _application( application ) +{ + setupUi( this ); + + QHBoxLayout *hboxA = new QHBoxLayout( _frameA ); + hboxA->setMargin( 0 ); + QHBoxLayout *hboxB = new QHBoxLayout( _frameB ); + hboxB->setMargin( 0 ); + + // Create a graph item view and generate a simple graph + Graph* graph = new Graph( ); + _graphItemViewA = new qan::GraphItemView( _frameA, graph, QColor( 255, 255, 255 ) ); + GridItem* grid = new GridCheckBoardItem( _graphItemViewA->getGraphicsView( ), palette( ).color( QPalette::Base ), palette( ).color( QPalette::AlternateBase ) ); + + _graphItemViewB = new qan::GraphItemView( _frameB, graph, QColor( 255, 255, 255 ) ); + new GridCheckBoardItem( _graphItemViewB->getGraphicsView( ), palette( ).color( QPalette::Base ), palette( ).color( QPalette::AlternateBase ) ); + + QProgressDialog* progress = new QProgressDialog( "Generating graph...", "Cancel", 0, 100, this ); + progress->setWindowModality( Qt::WindowModal ); + progress->show( ); + generateTree( *graph, progress, _application, 4 ); + progress->close( ); + + hboxA->addWidget( _graphItemViewA ); + _graphItemViewA->setModel( graph ); + _graphItemViewA->layoutGraph( ); + + hboxB->addWidget( _graphItemViewB ); + _graphItemViewB->setModel( graph ); + _graphItemViewB->layoutGraph( ); + + + _graphItemViewA->setGraphLayout( new qan::HierarchyTree( QPointF( 120., 55. ), QPointF( 10., 10. ), Qt::Horizontal ) ); + _graphItemViewA->layoutGraph( ); + + _graphItemViewB->setGraphLayout( new qan::ChanTree( ) ); + _graphItemViewB->layoutGraph( ); +} +//----------------------------------------------------------------------------- + + diff --git a/tests/trees/MainWindow.h b/tests/trees/MainWindow.h new file mode 100644 index 0000000..9f8cc6f --- /dev/null +++ b/tests/trees/MainWindow.h @@ -0,0 +1,57 @@ +//----------------------------------------------------------------------------- +// This file is a part of the Qanava software. +// +// \file canMainWindow.h +// \author Benoit Autheman (benoit@libqanava.org) +// \date 2005 November 11 +//----------------------------------------------------------------------------- + + +#ifndef canMainWindow_h +#define canMainWindow_h + + +// Qanava headers +#include "./qanGraph.h" +#include "../../src/qanGraphItemView.h" +#include "ui_mainWindow.h" + + +// QT headers +#include +#include +#include + + +//----------------------------------------------------------------------------- +//! +/*! + \nosubgrouping +*/ + class MainWindow : public QMainWindow, public Ui::MainWindow + { + Q_OBJECT + + public: + + MainWindow( QApplication* application, QWidget* parent = 0 ); + + virtual ~MainWindow( ) { } + + private: + + MainWindow( const MainWindow& ); + + MainWindow& operator=( const MainWindow& ); + + protected: + + QApplication* _application; + qan::GraphItemView* _graphItemViewA; + qan::GraphItemView* _graphItemViewB; + }; +//----------------------------------------------------------------------------- + + +#endif // + diff --git a/tests/trees/MainWindow.ui b/tests/trees/MainWindow.ui new file mode 100644 index 0000000..0c2c65a --- /dev/null +++ b/tests/trees/MainWindow.ui @@ -0,0 +1,49 @@ + + MainWindow + + + + 0 + 0 + 488 + 375 + + + + Qanava Test + + + + + 2 + + + 1 + + + + + QFrame::NoFrame + + + QFrame::Plain + + + + + + + QFrame::NoFrame + + + QFrame::Plain + + + + + + + + + + diff --git a/tests/trees/app.cpp b/tests/trees/app.cpp new file mode 100644 index 0000000..696e64d --- /dev/null +++ b/tests/trees/app.cpp @@ -0,0 +1,35 @@ +//----------------------------------------------------------------------------- +// This file is a part of the Qarte software. +// +// \file canApp.cpp +// \author Benoit Autheman (benoit@libqanava.org) +// \date 2005 April 19 +//----------------------------------------------------------------------------- + + +// Qanava headers +#include "mainWindow.h" + + +// QT headers +#include +#include + + + +int main( int argc, char** argv ) +{ + // QT gui creation (Needed to allocate plugin qt components and application kernel) + QApplication app( argc, argv ); + + // Create main application form + MainWindow mainWindow( &app ); + + // Display main window and start processing events + mainWindow.show( ); + app.connect( &app, SIGNAL( lastWindowClosed( ) ), &app, SLOT( quit( ) ) ); + + // Process events + return app.exec( ); +} + diff --git a/tests/trees/images/gradblue.png b/tests/trees/images/gradblue.png new file mode 100644 index 0000000000000000000000000000000000000000..929a6b8982260341bb9bebade02b725f8d4bdc2e GIT binary patch literal 2118 zcwPZU2)Xx(P)WFU8GbZ8({Xk{QrNlj4iWF>9@00*i`L_t(|+Fe;ejvPS< zv(bDqQvQF<6PyEJT)m1mJ-yS_1sG!}{`vb40Eqd~To(n9B@#t|Vxa&M=sN{MMX*5j zeHHs!ED~bPv*o9VD*2j3QJkl4DMI^E1pNq007+E=L_s9yYn!Rs@By7zZB|y@6Je4{TfpJ;%Wot_eN=K zweu)Y{a9~@dEL95J!?YA_V1Xn_JHA61+C28nI=tb5-=Y&| zN~{}>X`IMTn$WM2v9Mq7K#SV@iUEbfF%)wwxnK`$=ed=dEzy*P%6kFfb1p=kX zj)6WwP@OsQcG!ta=s2U_txgXj*5o3p_qu`F1UpczhZ%0&6=n~P628$ISJr~Nfk17R zEJ4-79&nQIFg)mop);UWXFGxz4s3(2yMPWRfacLj$njuf`OTtX0=pzrvVnnPnBm8w z5I&=+hLeQ8*etc9RlDg9886wC@fj+!L8SsaSJ#_xw*M|P3nC|9?}kTEVWrbyGkN)R zZKeuGRz}ffvva*SnVwol1eJ@Vs4{eKO~MF->Y}tjl8K9Fp=qAzjlvPf5;THvBgegz z&AuXg3A4Dgr)~q%Qk0@{kXcm7s1W=OiEI2(^zI)YGwgJ%!%5oh=<2Hzor_6Yok-8t zTcZr2T|~#qlNSi0+N@MzeTpcx0rbe>!@xNYU=jQ#UXzu0Ral`*EIelA@@mXFyTn)y zey`6LX+nh8NE&6-7M|LnuKLuGsY`?lWs=0)2}wabYRaa{&aMF7f&wma!AsT(IP?zp zY_SF&2=I6GJv$@KHp%+S%MY%uDz0Yfg*yl8;CH;VJ?xqxbJ}bkZzQh%k?WV$APtyx0*R#Ryw`Hl^Jbw8F2k4RePq* zk#+PXm2g#j6<%n~@L8`eK59e5=~rqaVhATtdb9Vf98(Wc*KGZX)V1%5B&tFnhcY6M z^;&=`Xo4(V5ET4FgHXl}wiYL1v2wu(ww+6Lyqel2x;Mfs7ed4{P@{6Y(M@8k3o z5k)X0X=dG_!2omj)ne{j5+|iXej{jIzf@mi^mS~CG|;EzVzzEho-tRemUTMAB0-yM zvs;~Qev2_#%^%l0o&8UlvETW-%#LOv|=*htVFwUM3zQZLu+qmr3N*;yS z`K)Xfi8hQ`37>*`1_Zr|Pb{`9Ua3(^gM$sh?K$dGf?Xw7muwNI)ml->{)i@z&Ln(g zN3vyEDTU(3_MXRDClQ8ro~9!>y?IP>iL9q(J~e33fTL4OTSty&!b>DiHzu?xL{=+a zNk%Y*R>D3`-ObA*izO>>=oH;h{EGC4V6MDmA=Zi1TKg@@*9AIR)1-3U1A!mY)2}q1 zIo>0eZW?jIJ|1MWkB6%|ty$TOY#q~psxgxztK-_Xus2Yx+hIP9 z;BjNpU=Zpv*20wO8vrpTGhCg~SXvm3Ru5`rEblZKnn5w;FF@IOcFUpha6qW=9pn1Grs@V!u;4>%L9d9c8$I z$(kE)NO3D)FQ~4cOO^+sQ_fnFRNVIpycECL14oS3gL}tz+I8-rXEXTJWO8c^RP{LZ zq^EF=-i_I6Lg$MA3qx)UZ=&4%;WNPk-cTc^<>z%~ zeSb=YI!V$$HJLd$l7@j+Jt$c2LBc`ynf*4sR&+9j>rfUY1*evwB6qzl=bz-0j4OsIe||H}8Kx$OI6B<75F;}?r>CxUnp70%zD+K+rskJ3@pNmMEsiZ> z{?3@&%|s|WN0-csV~-vY=M)9`)}xjgjPWMj#cVE*2BNcIDD=**XsB0?+}wQY$7WQd zK~t39^za@-9JIi%n5OH_SB@29!~@A5ZYJtfbUzmbOo$@xJw%^-%oRPMCMBfuahNNW zwiM`{+7+4BG6vSSGv25TH!6DSPsJ=dmGQhWT0O)h^*!49h)?Y>Q>;{n03mIZxKwu? z-i_G756q08i{}}~t)6DFp37w$7j=s7Am2!lAjPn{leu*9D!wO}TjGAvlR9yQ@8M(4 zH%LCCfg4JO@MRp)zQg)B0$lwSkaG{pcPjV{a1j0ZbA;(qV%IV;i$`Td>mr|#bS6Y! zdCA`25#reG>8wYode*1VjnRfck1l&hdHmFIGaeOWt()dt+B}2BS9E)xX}!1Y_Z(Mh zN$j*HQz+|>QdX_%#$7$M36_WX@N;ZwT?731$Ub-WSsuiXe$I0M=3H(^OQpB*jF}Pd wpb^(Htc)08B!17NwUZ3qoXCKac^DA>1KLsFt3uc@9{>OV07*qoM6N<$f`4)MoB#j- literal 0 HcwPel00001 diff --git a/tests/trees/images/gradgreen.png b/tests/trees/images/gradgreen.png new file mode 100644 index 0000000000000000000000000000000000000000..d50dd9dd5debdec2b106ed80332b5a66de33fb5c GIT binary patch literal 2016 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 literal 0 HcwPel00001 diff --git a/tests/trees/images/qanava_minus.png b/tests/trees/images/qanava_minus.png new file mode 100644 index 0000000000000000000000000000000000000000..74131c19c797a29d73b1aeff04ff296c4370c01c GIT binary patch literal 239 zcwXxa@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kmUKs7M+SzCeKo%WCjJ0v9{8t>G5WJxss_z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ-)Ja4^RCwB?le=nEQ51&12|hp`!1QTlh}f%zDeOWr zsECD##x7_jXoLw2iXv!YTJs7CYGq}iwka$Ef);^bE==Z}v(LJ1i!&HQVxifv*}GW( zx9+W+GbcHx04^=O%c6#=q2j12DvqgPs>5rz86k?fv$lM@H8D2Y0IDQ>n7@38oO4Da z5BG=q4cmN_%kV`FQOC&orwBLH=h10flUKs;Fa{GHl^(t}E!WI=Mr<-qTu)0pa5a!-|q9|(yMdC*9Emc{O%8D!Z zS6G_w90H60s0hiNyBEj#xijFwRGY_F&#}9`&$HR{yqKG$*zNQ3;mqG65GoDKgZa)` zDlsfF`+I#V3u+G*yVpqOh{e$eT&1b7`S1;<@2ybm_UYVtg{ULy)as}n2N0oBr<7=l zCeGrcY0_Z8($kww_017&I&>t3&?bf21G7NAF?{{}7D*lRX1JQE%*Oycn4IbU*D|$o s&V2c?$Hvy+pVzX}KHX}abe(?<0B^{ZDO#tZ7ytkO07*qoM6N<$g0F)S%K!iX literal 0 HcwPel00001 diff --git a/tests/trees/images/qanava_plus.png b/tests/trees/images/qanava_plus.png new file mode 100644 index 0000000000000000000000000000000000000000..24e23c92ece2dd210b39a1cdc6606f9923eb588d GIT binary patch literal 312 zcwXxa@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kmUKs7M+SzCeKo%WCjt> zWKd{`aA?`M(QwlY69NDBO~#EsG<_buxw)B#f$>PwQ2{-LZSF~n85$T4Eqf>~@ZS;4 zZpxg%nB=GMkN3zahci5);fzUc3Tdp5-aGtZQD{hzTE@81RN#NR*0biW^^A}92l%=- z-r!egn6bfvQ=frDVFqtxhF=u7C_m$)-5!2PAdxn8kG4PUR?IB#7(P0uNHZ{TL~CqR z?A*N2n~6ohjQ4)S4+SAz@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ-!%0LzRCwB~l)q~fK@`V7?`|PNBv)97!G9o4YR^Ul zF@gq!pjc=sJL3r!*48!_CZ)D1LaJC;CRIdZW8py}c!79U2_)QRXP15REcQpj?aE!@ zG;elh`0RJy_sfWx@jr&VTDWRqtd)()i6(E>4_ZJ7=qOMS#>(>A>+CBz#7_HIv`?qA z18{6+hzLamYT=DyV#y&E^|8|)HrUVBY!lczR}G*IOjZANzai`apkFRw$q`Rh9i!KMIB00l@R8>!pgv zZ*TwG84>j7UGNU`aj`rFG=r6oe_CdC3|lPCPuHk88)k;zy9MepRYT1l~Rb4A`QZ)2@Zi=eiHqDti((h{ovkyqWeV{H!EfJXm@CS=% z?;-xzeRS^*x_gtf+r~65A$jm>K?C4(=6{^K;=o6s4p9f*ok0N8q$ZHyfs+j6N>|M1 zP))$cq&x31OTZ`KQ(&S3DwEoI@pVMo8^DF~d}+qesVU%EUS-S|$o5V b!oLFmZh+}vUnpSl00000NkvXXu0mjfTeEK7>?11jeBHy-*Yp9*>I@7Ke5MXmpyufmpSQONJ;gNP+-H z85pBbBnfUshAc@46^39K**Yfxql`$DQlwHD%*`)C5_q^>3Iv|Pwi!4=Uw+08F)rP0Ej#fNfZIgLOPvYaRe+bERSew8cfTCVOp>Nn3e@fDFmK} z#PgV%m_#y}9&iNAMq};YMt{r_0&pCGZQHQ_If%#N7=HT^Ye{3l2|$Yq!VB4KYSlE2 z+F&T)Rulz{a-f7D8ja#b-)rP@6y*V$f3bS3x1BWa zA1gZhrRPLa`+Uuwd{ATewuX9dA1W#b0P?@5yLAI(z27-p6bO|DuI_2v7bz+BVCKzp z{ryPn=~#@vO!qcd+;jrGdpyy;-uuVa(%by}NPH$PcngcGOT%H=ZN|1vM^n{oaXdu; zAW)&$0I)coB2SV-p3T6HSF@{Ub{V%;6aD(ZQw^7d(%qt-H*tUffcy|RSN?a(zv@nD o-cjH$+2ZRFgO!a_>9X&C0BKDGm#86@jQ{`u07*qoM6N<$g3JtG6#xJL literal 0 HcwPel00001 diff --git a/tests/trees/images/qanava_zoomout.png b/tests/trees/images/qanava_zoomout.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae727f351dc9e73b353f63ae84ecbd57f74b264 GIT binary patch literal 800 zcwPY@1K<3KP)4`=S==qNpiBy4KNQredbB?_W~qNuDzxUeXd5DKDN zw1}XEv}k34E`p4}T4>9VEP~RW5cV2l#;I{;u6OP{?xRH*C9|lrJRCmGIRpTPhDQB@ z#5y^b1_Y6Aq5_yeNY=LOiGpEVE}M9N{P>Whb)UIS8NoEB~U6u^(axRT)AKr z=4SxRE(ZvJb1JCSXn}wqD?$N;wIC$MpauOGPo{-KnNU3M7dP- zR&9{a8wMc+t_x6sKoS{5MnM3`q6jX_faAb4OWCS`AL)fDW6^-^*syE|4glM6Kq-YJ zir}J%PqQDP>*hpNz+57E@%7BxIYIzIAaGq5?jM0vGKI;<&#
    1qHPsf(sdr9#fO zt+v{5$g8R<7!^PXK_ZdBgRw`bR4CSj=!(;^cZ~;HJ&EC``tLae0NUHTcwIwHi>B4| zYavf7mzh#3R?-U@V~kP$JnXUdHIb>k8?-OZx6ktr=Q2X~kz2_W{#7^jM^3yPIj9>i z&bc3Nwz~Ja!}qT2imU+urcC1YU+E73(l}}MA-80iCET5UGQD02gnApdcA(k3zay7V zngiSG&(h|u$mnTpcYGU<#kcWTJd@VrDLs4L8i%n27=O2DZVZZ3sjn%?U*8a06^$xh zJK6j>QHT-c8m?ApeaY;DzT7;vr7pB?ZJ>YW;f^zsZOC^z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ-!%0LzRCwB~l)q~fK@`V7?`|PNBv)97!G9o4YR^Ul zF@gq!pjc=sJL3r!*48!_CZ)D1LaJC;CRIdZW8py}c!79U2_)QRXP15REcQpj?aE!@ zG;elh`0RJy_sfWx@jr&VTDWRqtd)()i6(E>4_ZJ7=qOMS#>(>A>+CBz#7_HIv`?qA z18{6+hzLamYT=DyV#y&E^|8|)HrUVBY!lczR}G*IOjZANzai`apkFRw$q`Rh9i!KMIB00l@R8>!pgv zZ*TwG84>j7UGNU`aj`rFG=r6oe_CdC3|lPCPuHk88)k;zy9MepRYT1l~Rb4A`QZ)2@Zi=eiHqDti((h{ovkyqWeV{H!EfJXm@CS=% z?;-xzeRS^*x_gtf+r~65A$jm>K?C4(=6{^K;=o6s4p9f*ok0N8q$ZHyfs+j6N>|M1 zP))$cq&x31OTZ`KQ(&S3DwEoI@pVMo8^DF~d}+qesVU%EUS-S|$o5V b!oLFmZh+}vUnpSl00000NkvXXu0mjfT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/trees/tree.xml b/tests/trees/tree.xml new file mode 100644 index 0000000..fce47ba --- /dev/null +++ b/tests/trees/tree.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/trees/trees.pro b/tests/trees/trees.pro new file mode 100644 index 0000000..d9a9adb --- /dev/null +++ b/tests/trees/trees.pro @@ -0,0 +1,29 @@ +TEMPLATE = app +TARGET = test_trees +FORMS = MainWindow.ui +CONFIG += qt warn_on debug +DEFINES += QANAVA +LANGUAGE = C++ +QT += xml + +SOURCES += app.cpp \ + MainWindow.cpp +HEADERS += MainWindow.h + +macx | unix { + QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-parameter + UI_DIR = .ui + MOC_DIR = .moc + OBJECTS_DIR = .obj + INCLUDEPATH += ../../src/ + DEFINES += QANAVA_UNIX + LIBS += -L../../build -lqanava +} + +win32 { + OBJECTS_DIR = ./Debug + INCLUDEPATH += ../../src/ + LIBS += ../../build/qanava.lib +} + + -- 2.11.4.GIT