<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.programmingexamples.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.programmingexamples.net/w/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages</id>
		<title>ProgrammingExamples - New pages [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.programmingexamples.net/w/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages"/>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Special:NewPages"/>
		<updated>2026-06-15T11:54:23Z</updated>
		<subtitle>From ProgrammingExamples</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/OpenMP/ParallelFor</id>
		<title>CPP/OpenMP/ParallelFor</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/OpenMP/ParallelFor"/>
				<updated>2016-11-22T01:21:49Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with &amp;quot;==ParallelFor.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt;  int main(int,char*[]) {     #pragma omp parallel for     for(int x=0; x &amp;lt; 100; x++)     {         std::cout &amp;lt;&amp;lt; x &amp;lt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ParallelFor.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int,char*[])&lt;br /&gt;
{&lt;br /&gt;
    #pragma omp parallel for&lt;br /&gt;
    for(int x=0; x &amp;lt; 100; x++)&lt;br /&gt;
    {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    }&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
 &lt;br /&gt;
Project(ParallelFor)&lt;br /&gt;
 &lt;br /&gt;
SET(CMAKE_CXX_FLAGS &amp;quot;${CMAKE_CXX_FLAGS} -Wall -std=c++11&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
find_package(OpenMP REQUIRED)&lt;br /&gt;
&lt;br /&gt;
IF(OPENMP_FOUND)&lt;br /&gt;
    SET(CMAKE_CXX_FLAGS &amp;quot;${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}&amp;quot;)&lt;br /&gt;
else()&lt;br /&gt;
    message(WARNING &amp;quot;OpenMP not available!&amp;quot;)&lt;br /&gt;
endif()&lt;br /&gt;
  &lt;br /&gt;
ADD_EXECUTABLE(ParallelFor ParallelFor.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/OpenMP</id>
		<title>OpenMP</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/OpenMP"/>
				<updated>2016-11-22T01:21:07Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with &amp;quot;Simple OpenMP examples.  * Perform a parallel for loop&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simple OpenMP examples.&lt;br /&gt;
&lt;br /&gt;
* [[CPP/OpenMP/ParallelFor|Perform a parallel for loop]]&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/decltype</id>
		<title>CPP/decltype</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/decltype"/>
				<updated>2016-11-20T12:59:08Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with &amp;quot;==decltype.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt;  void variable() {     float a = 1.2f;      decltype(a) b = a + .3;      std::cout &amp;lt;&amp;lt; b &amp;lt;&amp;lt; std::endl; }  float f() {...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==decltype.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void variable()&lt;br /&gt;
{&lt;br /&gt;
    float a = 1.2f;&lt;br /&gt;
&lt;br /&gt;
    decltype(a) b = a + .3;&lt;br /&gt;
&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; b &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
float f()&lt;br /&gt;
{&lt;br /&gt;
    return 1.2f;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void func()&lt;br /&gt;
{&lt;br /&gt;
    decltype(f()) b = f() + .3;&lt;br /&gt;
&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; b &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int,char*[])&lt;br /&gt;
{&lt;br /&gt;
    variable();&lt;br /&gt;
    func();&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
 &lt;br /&gt;
Project(decltype)&lt;br /&gt;
 &lt;br /&gt;
SET(CMAKE_CXX_FLAGS &amp;quot;${CMAKE_CXX_FLAGS} -Wall -std=c++11&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
ADD_EXECUTABLE(decltype decltype.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/bind</id>
		<title>CPP/bind</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/bind"/>
				<updated>2016-11-19T13:49:55Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with &amp;quot;==bind.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;functional&amp;gt;  void add(int a, int b) {     std::cout &amp;lt;&amp;lt; &amp;quot;a: &amp;quot; &amp;lt;&amp;lt; a &amp;lt;&amp;lt; &amp;quot; b: &amp;quot; &amp;lt;&amp;lt; b &amp;lt;&amp;lt; std::endl; }  int main(int,c...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==bind.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;functional&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void add(int a, int b)&lt;br /&gt;
{&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;a: &amp;quot; &amp;lt;&amp;lt; a &amp;lt;&amp;lt; &amp;quot; b: &amp;quot; &amp;lt;&amp;lt; b &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int,char*[])&lt;br /&gt;
{&lt;br /&gt;
    // free function, full call&lt;br /&gt;
    {&lt;br /&gt;
    std::function&amp;lt;void(int, int)&amp;gt; f = std::bind(add, std::placeholders::_1, std::placeholders::_2);&lt;br /&gt;
    f(1,2);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // free function, partial-arg call&lt;br /&gt;
    {&lt;br /&gt;
    std::function&amp;lt;void(int)&amp;gt; f = std::bind(add, 1, std::placeholders::_1);&lt;br /&gt;
    f(2);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // free function, no-arg call&lt;br /&gt;
    {&lt;br /&gt;
    std::function&amp;lt;void()&amp;gt; f = std::bind(add, 1, 2);&lt;br /&gt;
    f();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
 &lt;br /&gt;
Project(bind)&lt;br /&gt;
 &lt;br /&gt;
SET(CMAKE_CXX_FLAGS &amp;quot;${CMAKE_CXX_FLAGS} -Wall -std=c++11&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
ADD_EXECUTABLE(bind bind.cpp)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/BGL/PrimMST</id>
		<title>CPP/Boost/BGL/PrimMST</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/BGL/PrimMST"/>
				<updated>2016-11-10T11:45:19Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==PrimMST.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;boost/graph/graph_traits.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/adjacency_list.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/prim_minimum_spanning_tree.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using EdgeWeightProperty = boost::property&amp;lt;boost::edge_weight_t, double&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
using GraphType = boost::adjacency_list&amp;lt;boost::setS, // OutEdgeContainer&lt;br /&gt;
                                        boost::vecS, // VertexContainer&lt;br /&gt;
                                        boost::undirectedS, boost::no_property, EdgeWeightProperty&amp;gt; ;&lt;br /&gt;
&lt;br /&gt;
using PredecessorContainer = std::vector&amp;lt;boost::graph_traits &amp;lt; GraphType &amp;gt;::vertex_descriptor&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
GraphType CreateGraphFromPredecessors(const PredecessorContainer&amp;amp; predecessors)&lt;br /&gt;
{&lt;br /&gt;
    GraphType g(predecessors.size());&lt;br /&gt;
&lt;br /&gt;
    for(unsigned int vertexID = 0; vertexID &amp;lt; predecessors.size(); ++vertexID) {&lt;br /&gt;
        if(predecessors[vertexID] != vertexID) {&lt;br /&gt;
            add_edge(predecessors[vertexID], vertexID, g);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    return g;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void PrintEdges(GraphType g)&lt;br /&gt;
{&lt;br /&gt;
    typedef boost::graph_traits&amp;lt;GraphType&amp;gt;::edge_iterator edge_iter;&lt;br /&gt;
    std::pair&amp;lt;edge_iter, edge_iter&amp;gt; edgePair;&lt;br /&gt;
    for(edgePair = edges(g); edgePair.first != edgePair.second; ++edgePair.first) {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; *(edgePair.first) &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int,char*[])&lt;br /&gt;
{&lt;br /&gt;
    // Create a graph object&lt;br /&gt;
    GraphType g(3);&lt;br /&gt;
&lt;br /&gt;
    // Create a &amp;quot;triangle&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    EdgeWeightProperty weight0 = 5;&lt;br /&gt;
    add_edge(0, 1, weight0, g);&lt;br /&gt;
&lt;br /&gt;
    EdgeWeightProperty weight1 = 3;&lt;br /&gt;
    add_edge(1, 2, weight1, g);&lt;br /&gt;
&lt;br /&gt;
    EdgeWeightProperty weight2 = 4;&lt;br /&gt;
    add_edge(0, 2, weight2, g);&lt;br /&gt;
&lt;br /&gt;
    PrintEdges(g);&lt;br /&gt;
&lt;br /&gt;
    // Create a container to store the predecessors for each vertex. Upon completion of the algorithm, the edges (p[u],u) for all u in V are in the minimum spanning tree.&lt;br /&gt;
    PredecessorContainer predecessors(num_vertices(g));&lt;br /&gt;
&lt;br /&gt;
    // &amp;quot;named parameter&amp;quot; signature&lt;br /&gt;
    prim_minimum_spanning_tree(g, &amp;amp;predecessors[0], boost::root_vertex(1));&lt;br /&gt;
&lt;br /&gt;
    for (std::size_t i = 0; i != predecessors.size(); ++i) {&lt;br /&gt;
&lt;br /&gt;
      if (predecessors[i] != i) {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; &amp;quot;parent[&amp;quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &amp;quot;] = &amp;quot; &amp;lt;&amp;lt; predecessors[i] &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
      }&lt;br /&gt;
      else {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; &amp;quot;parent[&amp;quot; &amp;lt;&amp;lt; i &amp;lt;&amp;lt; &amp;quot;] = no predecessors (i.e. root node)&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    GraphType mst = CreateGraphFromPredecessors(predecessors);&lt;br /&gt;
&lt;br /&gt;
    PrintEdges(mst);&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(PrimMST)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS program_options required)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(PrimMST PrimMST.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/OpenCV/ImageProcessing/ExtractChannel</id>
		<title>OpenCV/ImageProcessing/ExtractChannel</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/OpenCV/ImageProcessing/ExtractChannel"/>
				<updated>2015-05-15T13:02:35Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with &amp;quot;You will want to make sure that you include the imgproc, highgui, and core, libraries in your project settings.  ==ExtractChannel.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;quot;highgui.h...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You will want to make sure that you include the imgproc, highgui, and core, libraries in your project settings.&lt;br /&gt;
&lt;br /&gt;
==ExtractChannel.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;highgui.h&amp;quot; // required for imread()&lt;br /&gt;
#include &amp;quot;cv.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
int main(int, char*argv[])&lt;br /&gt;
{&lt;br /&gt;
  cv::Mat image = cv::imread(argv[1], CV_LOAD_IMAGE_COLOR);&lt;br /&gt;
 &lt;br /&gt;
  if(image.empty())&lt;br /&gt;
  {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Can't read the image&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&lt;br /&gt;
  std::vector&amp;lt;cv::Mat&amp;gt; channels;&lt;br /&gt;
  cv::split(image, channels);&lt;br /&gt;
  cv::Mat r_channel = channels[0];&lt;br /&gt;
&lt;br /&gt;
  for(int i=0; i &amp;lt; r_channel.rows; i++)&lt;br /&gt;
  {&lt;br /&gt;
    for(int j=0; j &amp;lt; r_channel.cols; j++)&lt;br /&gt;
    {&lt;br /&gt;
      std::cout &amp;lt;&amp;lt; r_channel.at&amp;lt;uchar&amp;gt;(i,j) &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(ExtractChannel)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(OpenCV REQUIRED )&lt;br /&gt;
INCLUDE_DIRECTORIES( ${OPENCV_INCLUDE_DIR} )&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(ExtractChannel ExtractChannel.cpp)&lt;br /&gt;
TARGET_LINK_LIBRARIES(ExtractChannel ${OpenCV_LIBS})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Eigen/SimplicialLDLT</id>
		<title>CPP/Eigen/SimplicialLDLT</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Eigen/SimplicialLDLT"/>
				<updated>2015-05-15T10:20:17Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with &amp;quot;==SimplicialLDLT.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt;  #include &amp;lt;Eigen/Sparse&amp;gt;  int main(int, char *[]) {   // Create matrix   typedef Eigen::SparseMatrix&amp;lt;double&amp;gt; Spa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==SimplicialLDLT.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Eigen/Sparse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int, char *[])&lt;br /&gt;
{&lt;br /&gt;
  // Create matrix&lt;br /&gt;
  typedef Eigen::SparseMatrix&amp;lt;double&amp;gt; SparseMatrixType;&lt;br /&gt;
  SparseMatrixType A(2, 2);&lt;br /&gt;
&lt;br /&gt;
  // Create the right-hand-side vector&lt;br /&gt;
  Eigen::VectorXd b(2);&lt;br /&gt;
&lt;br /&gt;
  // Fill matrix&lt;br /&gt;
  A.coeffRef(0, 0) += 1;&lt;br /&gt;
  A.coeffRef(1, 1) += 3;&lt;br /&gt;
&lt;br /&gt;
  // Fill vector&lt;br /&gt;
  b[0] = 1;&lt;br /&gt;
  b[1] = 2;&lt;br /&gt;
&lt;br /&gt;
  // Solve the (symmetric) system&lt;br /&gt;
  Eigen::SimplicialLDLT&amp;lt;SparseMatrixType&amp;gt; sparseSolver(A);&lt;br /&gt;
  Eigen::VectorXd x = sparseSolver.solve(b);&lt;br /&gt;
  if(sparseSolver.info() != Eigen::Success)&lt;br /&gt;
  {&lt;br /&gt;
    throw std::runtime_error(&amp;quot;Decomposition failed!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Result: &amp;quot; &amp;lt;&amp;lt; x &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  return EXIT_SUCCESS;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(SimplicialLDLT)&lt;br /&gt;
&lt;br /&gt;
# Set the CMake variable to the value of the environment variable.&lt;br /&gt;
# If the build is absolutely fresh, this will be the case if the CMake variable EIGEN3_INCLUDE_DIR is not set.&lt;br /&gt;
if(NOT EIGEN3_INCLUDE_DIR)&lt;br /&gt;
  set(EIGEN3_INCLUDE_DIR $ENV{EIGEN3_INCLUDE_DIR})&lt;br /&gt;
  message(&amp;quot;Set EIGEN3_INCLUDE_DIR to ${EIGEN3_INCLUDE_DIR} from environment variable of the same name.&amp;quot;)&lt;br /&gt;
else()&lt;br /&gt;
  message(&amp;quot;EIGEN3_INCLUDE_DIR is ${EIGEN3_INCLUDE_DIR}&amp;quot;)&lt;br /&gt;
endif()&lt;br /&gt;
&lt;br /&gt;
if(NOT EIGEN3_FOUND)&lt;br /&gt;
  FIND_PACKAGE(Eigen3 REQUIRED) #requires FindEigen3.cmake to be in the source directory&lt;br /&gt;
  include_directories(${EIGEN3_INCLUDE_DIR})&lt;br /&gt;
endif()&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(SimplicialLDLT SimplicialLDLT.cpp )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/ClassFunctionPointer</id>
		<title>CPP/Boost/ClassFunctionPointer</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/ClassFunctionPointer"/>
				<updated>2015-05-12T19:36:36Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: /* CMakeLists.txt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ClassFunctionPointer.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/function.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/bind.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class MyClass&lt;br /&gt;
{&lt;br /&gt;
private:&lt;br /&gt;
  double Update1()&lt;br /&gt;
  {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Update1&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  }&lt;br /&gt;
  double Update2()&lt;br /&gt;
  {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Update2&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
  boost::function&amp;lt; double() &amp;gt; Update;&lt;br /&gt;
  void SetUpdateMethod(int method)&lt;br /&gt;
  {&lt;br /&gt;
    if(method == 1)&lt;br /&gt;
    {&lt;br /&gt;
      this-&amp;gt;Update = boost::bind(&amp;amp;MyClass::Update1,this);&lt;br /&gt;
    }&lt;br /&gt;
    if(method == 2)&lt;br /&gt;
    {&lt;br /&gt;
      this-&amp;gt;Update = boost::bind(&amp;amp;MyClass::Update2,this);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
  &lt;br /&gt;
int main () &lt;br /&gt;
{&lt;br /&gt;
  MyClass a;&lt;br /&gt;
  a.SetUpdateMethod(1);&lt;br /&gt;
  a.Update();&lt;br /&gt;
&lt;br /&gt;
  a.SetUpdateMethod(2);&lt;br /&gt;
  a.Update();&lt;br /&gt;
  &lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(ClassFunctionPointer)&lt;br /&gt;
ADD_EXECUTABLE(ClassFunctionPointer ClassFunctionPointer.cpp)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Matlab/ReadTextFile</id>
		<title>Matlab/ReadTextFile</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Matlab/ReadTextFile"/>
				<updated>2013-03-21T15:38:47Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==ReadTextFile.m== &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt; data=textread('LocalizationError.txt'); plot(data(:,1), data(:,2)) &amp;lt;/source&amp;gt;'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ReadTextFile.m==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
data=textread('LocalizationError.txt');&lt;br /&gt;
plot(data(:,1), data(:,2))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Matlab</id>
		<title>Matlab</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Matlab"/>
				<updated>2013-03-21T15:38:07Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '* Read a space separated text file into a matrix'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Matlab/ReadTextFile|Read a space separated text file into a matrix]]&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/Geometry/CoordinateConversion</id>
		<title>CPP/Boost/Geometry/CoordinateConversion</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/Geometry/CoordinateConversion"/>
				<updated>2012-09-25T17:45:50Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==Spherical.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;boost/geometry/geometry.hpp&amp;gt;  #include &amp;lt;iostream&amp;gt;  static void CartesianToSpherical(); static void SphericalToCartesian();  int ma…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Spherical.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/geometry/geometry.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
static void CartesianToSpherical();&lt;br /&gt;
static void SphericalToCartesian();&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  CartesianToSpherical();&lt;br /&gt;
  SphericalToCartesian();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CartesianToSpherical()&lt;br /&gt;
{&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;CartesianToSpherical()&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  namespace bg = boost::geometry; // bg = 'B'oost 'G'eometry&lt;br /&gt;
  namespace cs = bg::cs; // cs = 'C'oordinate 'S'ystem&lt;br /&gt;
&lt;br /&gt;
  typedef bg::model::point&amp;lt;long double, 3, cs::cartesian&amp;gt; CartesianType;&lt;br /&gt;
  CartesianType cartesian(0.084186, 0.0225576, 0.996195);&lt;br /&gt;
&lt;br /&gt;
  typedef bg::model::point&amp;lt;long double, 2, cs::spherical&amp;lt;bg::degree&amp;gt; &amp;gt; SphericalType;&lt;br /&gt;
  SphericalType spherical;&lt;br /&gt;
&lt;br /&gt;
  bg::strategy::transform::from_cartesian_3_to_spherical_polar_2&amp;lt;CartesianType, SphericalType&amp;gt; strategy;&lt;br /&gt;
  bg::transform(cartesian, spherical, strategy);&lt;br /&gt;
&lt;br /&gt;
  std::cout&lt;br /&gt;
      &amp;lt;&amp;lt; &amp;quot;cartesian: &amp;quot; &amp;lt;&amp;lt; bg::dsv(cartesian) &amp;lt;&amp;lt; std::endl // dsv = Delimiter Separated Values&lt;br /&gt;
      &amp;lt;&amp;lt; &amp;quot;spherical: &amp;quot; &amp;lt;&amp;lt; bg::dsv(spherical) &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void SphericalToCartesian()&lt;br /&gt;
{&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;SphericalToCartesian()&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  namespace bg = boost::geometry; // bg = 'B'oost 'G'eometry&lt;br /&gt;
  namespace cs = bg::cs; // cs = 'C'oordinate 'S'ystem&lt;br /&gt;
&lt;br /&gt;
  // (theta=5.0, phi=15.0)&lt;br /&gt;
  typedef bg::model::point&amp;lt;long double, 2, cs::spherical&amp;lt;bg::degree&amp;gt; &amp;gt; SphericalType;&lt;br /&gt;
  SphericalType spherical(15.0, 5.0);&lt;br /&gt;
&lt;br /&gt;
  typedef bg::model::point&amp;lt;long double, 3, cs::cartesian&amp;gt; CartesianType;&lt;br /&gt;
  CartesianType cartesian;&lt;br /&gt;
&lt;br /&gt;
  bg::strategy::transform::from_spherical_polar_2_to_cartesian_3&amp;lt;SphericalType, CartesianType&amp;gt; strategy;&lt;br /&gt;
  bg::transform(spherical, cartesian, strategy);&lt;br /&gt;
&lt;br /&gt;
  std::cout&lt;br /&gt;
      &amp;lt;&amp;lt; &amp;quot;spherical: &amp;quot; &amp;lt;&amp;lt; bg::dsv(spherical) &amp;lt;&amp;lt; std::endl // dsv = Delimiter Separated Values&lt;br /&gt;
      &amp;lt;&amp;lt; &amp;quot;cartesian: &amp;quot; &amp;lt;&amp;lt; bg::dsv(cartesian) &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(Spherical)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS required)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(Spherical Spherical.cpp)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/Utilities/Settings</id>
		<title>Qt/Utilities/Settings</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/Utilities/Settings"/>
				<updated>2012-09-18T15:32:50Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==Settings.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;QtCore&amp;gt;  #include &amp;lt;iostream&amp;gt;  void LocalUsage(); void GlobalUsage();  int main(int argc, char *argv[]) {   QCoreApplication app(arg…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Settings.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QtCore&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void LocalUsage();&lt;br /&gt;
void GlobalUsage();&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QCoreApplication app(argc, argv);&lt;br /&gt;
&lt;br /&gt;
  LocalUsage();&lt;br /&gt;
  GlobalUsage();&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void LocalUsage()&lt;br /&gt;
{&lt;br /&gt;
  QSettings settings(&amp;quot;MyCompany&amp;quot;, &amp;quot;MyProgram&amp;quot;);&lt;br /&gt;
  QString hello = &amp;quot;Hello, world!&amp;quot;;&lt;br /&gt;
  // store a value&lt;br /&gt;
  settings.setValue(&amp;quot;Greeting&amp;quot;, hello); // creates ~/.config/OpenSourcePress/ConfigTest.conf&lt;br /&gt;
&lt;br /&gt;
  // reset variable&lt;br /&gt;
  hello = &amp;quot;&amp;quot;;&lt;br /&gt;
  // read value and assign to variable&lt;br /&gt;
  hello = settings.value(&amp;quot;Greeting&amp;quot;).toString();&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; hello.toStdString() &amp;lt;&amp;lt; std::endl; // prints &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void GlobalUsage()&lt;br /&gt;
{&lt;br /&gt;
  QCoreApplication::setOrganizationName(&amp;quot;MyCompany&amp;quot;);&lt;br /&gt;
  //QCoreApplication::setOrganizationDomain(&amp;quot;mysoft.com&amp;quot;);&lt;br /&gt;
  QCoreApplication::setApplicationName(&amp;quot;MyProgram&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  QSettings settings;&lt;br /&gt;
  QString hello = &amp;quot;Hello, world!&amp;quot;;&lt;br /&gt;
  // store a value&lt;br /&gt;
  settings.setValue(&amp;quot;Greeting&amp;quot;, hello); // creates ~/.config/OpenSourcePress/ConfigTest.conf&lt;br /&gt;
&lt;br /&gt;
  // reset variable&lt;br /&gt;
  hello = &amp;quot;&amp;quot;;&lt;br /&gt;
  // read value and assign to variable&lt;br /&gt;
  hello = settings.value(&amp;quot;Greeting&amp;quot;).toString();&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; hello.toStdString() &amp;lt;&amp;lt; std::endl; // prints &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(Settings)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${QT_QTXML_INCLUDE_DIR}) # Prevents &amp;quot;QtXml: No such file or directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(Settings Settings.cpp)&lt;br /&gt;
message(${QT_LIBRARIES})&lt;br /&gt;
TARGET_LINK_LIBRARIES(Settings ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Building_on_Windows</id>
		<title>Building on Windows</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Building_on_Windows"/>
				<updated>2012-09-16T17:42:53Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A typical CMakeLists.txt file on this site looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
PROJECT(FileMenu)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs main.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs filemenu.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(FileMenu main.cpp filemenu.h filemenu.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(FileMenu ${QT_LIBRARIES})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, when you build and run in Windows, you will get a console window that appears along with your GUI program. To fix this, you must do two things. First, add ${QT_QTMAIN_LIBRARY} to your target_link_libraries command. Second, you must specify /SUBSYSTEM:WINDOWS for all build configurations (Release, Debug, etc) that you want to not pop up the console window. An example is below, where when built in release mode, no console will appear:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(FileMenu)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs main.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs filemenu.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(FileMenu main.cpp filemenu.h filemenu.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(FileMenu ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
set_target_properties(FileMenu PROPERTIES LINK_FLAGS_RELEASE &amp;quot;/SUBSYSTEM:WINDOWS&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to set this for all build modes, simply use:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
set_target_properties(FileMenu PROPERTIES LINK_FLAGS &amp;quot;/SUBSYSTEM:WINDOWS&amp;quot;) # works for all build modes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/Events/Resize</id>
		<title>Qt/Events/Resize</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/Events/Resize"/>
				<updated>2012-09-12T13:58:35Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    QApplication app(argc, argv);&lt;br /&gt;
    Form form;&lt;br /&gt;
    &lt;br /&gt;
    form.show();&lt;br /&gt;
    return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class QGraphicsPixmapItem;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, public Ui::Form&lt;br /&gt;
{&lt;br /&gt;
Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
  Form(QWidget *parent = 0);&lt;br /&gt;
protected:&lt;br /&gt;
&lt;br /&gt;
  void resizeEvent ( QResizeEvent * event );&lt;br /&gt;
&lt;br /&gt;
  QGraphicsPixmapItem* BlackItem;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent) : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  this-&amp;gt;setupUi(this);&lt;br /&gt;
&lt;br /&gt;
  QGraphicsScene* scene = new QGraphicsScene;&lt;br /&gt;
&lt;br /&gt;
  //// Add a qpixmap to the scene.&lt;br /&gt;
  QPixmap pixmap(40, 40);&lt;br /&gt;
  QColor black(0,0,0);&lt;br /&gt;
  pixmap.fill(black);&lt;br /&gt;
  this-&amp;gt;BlackItem = scene-&amp;gt;addPixmap(pixmap);&lt;br /&gt;
  //this-&amp;gt;graphicsView-&amp;gt;fitInView(blackItem);&lt;br /&gt;
&lt;br /&gt;
  //Add another qpixmap to the scene. Drag one of them around and watch the scene change.&lt;br /&gt;
  QPixmap pixmap2(30, 30);&lt;br /&gt;
  QColor red(255,0,0);&lt;br /&gt;
  pixmap2.fill(red);&lt;br /&gt;
  QGraphicsPixmapItem * redItem = scene-&amp;gt;addPixmap(pixmap2);&lt;br /&gt;
  redItem-&amp;gt;setFlag(QGraphicsItem::ItemIsMovable);&lt;br /&gt;
&lt;br /&gt;
  scene-&amp;gt;setSceneRect(pixmap.rect());&lt;br /&gt;
  this-&amp;gt;graphicsView-&amp;gt;setScene(scene);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Form::resizeEvent ( QResizeEvent * event )&lt;br /&gt;
{&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;ResizeEvent&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  this-&amp;gt;graphicsView-&amp;gt;fitInView(this-&amp;gt;BlackItem);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;312&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;243&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;layout class=&amp;quot;QGridLayout&amp;quot; name=&amp;quot;gridLayout&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;0&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QGraphicsView&amp;quot; name=&amp;quot;graphicsView&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;property name=&amp;quot;backgroundBrush&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;brush brushstyle=&amp;quot;NoBrush&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;color alpha=&amp;quot;255&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;red&amp;gt;0&amp;lt;/red&amp;gt;&lt;br /&gt;
        &amp;lt;green&amp;gt;0&amp;lt;/green&amp;gt;&lt;br /&gt;
        &amp;lt;blue&amp;gt;0&amp;lt;/blue&amp;gt;&lt;br /&gt;
       &amp;lt;/color&amp;gt;&lt;br /&gt;
      &amp;lt;/brush&amp;gt;&lt;br /&gt;
     &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/layout&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(ResizeEvent)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(ResizeEvent main.cpp form.h form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(ResizeEvent ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/Heap/IndirectCompare</id>
		<title>CPP/Boost/Heap/IndirectCompare</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/Heap/IndirectCompare"/>
				<updated>2012-09-05T21:35:05Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;boost/heap/binomial_heap.hpp&amp;gt; #include &amp;lt;boost/pending/indirect_cmp.hpp&amp;gt; #include &amp;lt;boost/array.hpp&amp;gt; #include &amp;lt;boost/graph/grid_graph.hpp&amp;gt; #i…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/heap/binomial_heap.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/pending/indirect_cmp.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/array.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/grid_graph.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int, char*[])&lt;br /&gt;
{&lt;br /&gt;
  boost::array&amp;lt;std::size_t, 2&amp;gt; lengths = { { 2,2 } };&lt;br /&gt;
  typedef boost::grid_graph&amp;lt;2&amp;gt; GraphType;&lt;br /&gt;
  GraphType graph(lengths);&lt;br /&gt;
  typedef boost::graph_traits&amp;lt;GraphType&amp;gt;::vertex_descriptor Vertex;&lt;br /&gt;
  typedef boost::property_map&amp;lt;GraphType, boost::vertex_index_t&amp;gt;::const_type GridIndexMapType;&lt;br /&gt;
  GridIndexMapType gridIndexMap(get(boost::vertex_index, graph));&lt;br /&gt;
&lt;br /&gt;
  typedef boost::graph_traits&amp;lt;GraphType&amp;gt;::vertex_iterator VertexIteratorType;&lt;br /&gt;
  VertexIteratorType vertexIterator, vertexIteratorEnd;&lt;br /&gt;
&lt;br /&gt;
  typedef boost::vector_property_map&amp;lt;float, GridIndexMapType&amp;gt; PriorityMapType;&lt;br /&gt;
  PriorityMapType priorityMap(gridIndexMap);&lt;br /&gt;
&lt;br /&gt;
  typedef boost::indirect_cmp&amp;lt;PriorityMapType, std::less&amp;lt;float&amp;gt; &amp;gt; IndirectComparisonType;&lt;br /&gt;
  IndirectComparisonType indirectComparison(priorityMap);&lt;br /&gt;
&lt;br /&gt;
  typedef boost::heap::binomial_heap&amp;lt;Vertex, boost::heap::stable&amp;lt;false&amp;gt;, boost::heap::compare&amp;lt;IndirectComparisonType&amp;gt; &amp;gt; PriorityQueueType;&lt;br /&gt;
  PriorityQueueType pq(indirectComparison);&lt;br /&gt;
&lt;br /&gt;
  typedef typename PriorityQueueType::handle_type handle_t;&lt;br /&gt;
&lt;br /&gt;
  for( tie(vertexIterator, vertexIteratorEnd) = vertices(graph); vertexIterator != vertexIteratorEnd; ++vertexIterator)&lt;br /&gt;
  {&lt;br /&gt;
    put(priorityMap, *vertexIterator, rand() % 1000);&lt;br /&gt;
    pq.push(*vertexIterator);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Change all of the priorities in the map&lt;br /&gt;
  for( tie(vertexIterator, vertexIteratorEnd) = vertices(graph); vertexIterator != vertexIteratorEnd; ++vertexIterator)&lt;br /&gt;
  {&lt;br /&gt;
    put(priorityMap, *vertexIterator, rand() % 1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Resort the queue&lt;br /&gt;
  for( tie(vertexIterator, vertexIteratorEnd) = vertices(graph); vertexIterator != vertexIteratorEnd; ++vertexIterator)&lt;br /&gt;
  {&lt;br /&gt;
    //  pq.update(handle3, 5);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Output the final queue&lt;br /&gt;
  while(!pq.empty())&lt;br /&gt;
  {&lt;br /&gt;
    Vertex v = pq.top();&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; v[0] &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; v[1] &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    pq.pop();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/BGL/IndirectPriorityQueue</id>
		<title>CPP/Boost/BGL/IndirectPriorityQueue</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/BGL/IndirectPriorityQueue"/>
				<updated>2012-09-03T14:42:45Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==IndirectPriorityQueue.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;boost/graph/grid_graph.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/detail/d_ary_heap.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/property_map/property_map.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename TQueue&amp;gt;&lt;br /&gt;
static void OutputQueue(TQueue queue);&lt;br /&gt;
&lt;br /&gt;
int main(int, char*[])&lt;br /&gt;
{&lt;br /&gt;
  srand((unsigned int)time(NULL));&lt;br /&gt;
&lt;br /&gt;
  boost::array&amp;lt;std::size_t, 2&amp;gt; lengths = { { 5,5 } };&lt;br /&gt;
  typedef boost::grid_graph&amp;lt;2&amp;gt; GraphType;&lt;br /&gt;
  GraphType graph(lengths);&lt;br /&gt;
  typedef boost::graph_traits&amp;lt;GraphType&amp;gt;::vertex_descriptor Vertex;&lt;br /&gt;
  typedef boost::property_map&amp;lt;GraphType, boost::vertex_index_t&amp;gt;::const_type GridIndexMapType;&lt;br /&gt;
  GridIndexMapType gridIndexMap(get(boost::vertex_index, graph));&lt;br /&gt;
&lt;br /&gt;
  typedef boost::vector_property_map&amp;lt;std::size_t, GridIndexMapType&amp;gt; IndexInHeapMap;&lt;br /&gt;
  IndexInHeapMap index_in_heap(gridIndexMap);&lt;br /&gt;
&lt;br /&gt;
  typedef boost::graph_traits&amp;lt;GraphType&amp;gt;::vertex_iterator VertexIteratorType;&lt;br /&gt;
&lt;br /&gt;
  typedef boost::vector_property_map&amp;lt;float, GridIndexMapType&amp;gt; PriorityMapType;&lt;br /&gt;
  PriorityMapType priorityMap(gridIndexMap);&lt;br /&gt;
  VertexIteratorType vertexIterator, vertexIteratorEnd;&lt;br /&gt;
&lt;br /&gt;
  typedef std::greater&amp;lt;float&amp;gt; ComparisonFunctor;&lt;br /&gt;
  typedef boost::d_ary_heap_indirect&amp;lt;Vertex, 4, IndexInHeapMap, PriorityMapType, ComparisonFunctor &amp;gt; MutableQueueType;&lt;br /&gt;
&lt;br /&gt;
  ComparisonFunctor comparisonFunctor;&lt;br /&gt;
  MutableQueueType mutableQueue(priorityMap, index_in_heap, comparisonFunctor);&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;There are &amp;quot; &amp;lt;&amp;lt; mutableQueue.size() &amp;lt;&amp;lt; &amp;quot; items in the queue.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  // Add random values to the vertices and add them to the queue&lt;br /&gt;
  for( tie(vertexIterator, vertexIteratorEnd) = vertices(graph); vertexIterator != vertexIteratorEnd; ++vertexIterator)&lt;br /&gt;
  {&lt;br /&gt;
    put(priorityMap, *vertexIterator, rand() % 1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for( tie(vertexIterator, vertexIteratorEnd) = vertices(graph); vertexIterator != vertexIteratorEnd; ++vertexIterator)&lt;br /&gt;
  {&lt;br /&gt;
    mutableQueue.push(*vertexIterator);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;There are &amp;quot; &amp;lt;&amp;lt; mutableQueue.size() &amp;lt;&amp;lt; &amp;quot; items in the queue.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;The priority queue is: &amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  OutputQueue(mutableQueue);&lt;br /&gt;
&lt;br /&gt;
  // Insert another set of random values for each vertex&lt;br /&gt;
  for( tie(vertexIterator, vertexIteratorEnd) = vertices(graph); vertexIterator != vertexIteratorEnd; ++vertexIterator)&lt;br /&gt;
  {&lt;br /&gt;
    put(priorityMap, *vertexIterator, rand() % 1000);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  for( tie(vertexIterator, vertexIteratorEnd) = vertices(graph); vertexIterator != vertexIteratorEnd; ++vertexIterator)&lt;br /&gt;
  {&lt;br /&gt;
    mutableQueue.push(*vertexIterator);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;There are &amp;quot; &amp;lt;&amp;lt; mutableQueue.size() &amp;lt;&amp;lt; &amp;quot; items in the queue.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;The priority queue is: &amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  OutputQueue(mutableQueue);&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename TQueue&amp;gt;&lt;br /&gt;
static void OutputQueue(TQueue queue)&lt;br /&gt;
{&lt;br /&gt;
  while( ! queue.empty() )&lt;br /&gt;
  {&lt;br /&gt;
    typename TQueue::value_type u = queue.top();&lt;br /&gt;
&lt;br /&gt;
    // These two lines are equivalent&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;vertex: &amp;quot; &amp;lt;&amp;lt; u[0] &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; u[1] &amp;lt;&amp;lt; &amp;quot; priority: &amp;quot; &amp;lt;&amp;lt; get(queue.keys(), u) &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
    queue.pop();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Output:&lt;br /&gt;
There are 0 items in the queue.&lt;br /&gt;
There are 25 items in the queue.&lt;br /&gt;
The priority queue is: &lt;br /&gt;
vertex: 4 3 priority: 989&lt;br /&gt;
vertex: 3 2 priority: 976&lt;br /&gt;
vertex: 0 1 priority: 937&lt;br /&gt;
vertex: 1 4 priority: 824&lt;br /&gt;
vertex: 0 2 priority: 805&lt;br /&gt;
vertex: 1 0 priority: 770&lt;br /&gt;
vertex: 4 2 priority: 770&lt;br /&gt;
vertex: 4 4 priority: 733&lt;br /&gt;
vertex: 2 2 priority: 623&lt;br /&gt;
vertex: 0 4 priority: 566&lt;br /&gt;
vertex: 3 0 priority: 513&lt;br /&gt;
vertex: 4 0 priority: 494&lt;br /&gt;
vertex: 2 3 priority: 418&lt;br /&gt;
vertex: 3 1 priority: 411&lt;br /&gt;
vertex: 1 1 priority: 408&lt;br /&gt;
vertex: 0 3 priority: 378&lt;br /&gt;
vertex: 3 3 priority: 300&lt;br /&gt;
vertex: 3 4 priority: 286&lt;br /&gt;
vertex: 0 0 priority: 206&lt;br /&gt;
vertex: 2 1 priority: 198&lt;br /&gt;
vertex: 1 2 priority: 159&lt;br /&gt;
vertex: 2 0 priority: 157&lt;br /&gt;
vertex: 2 4 priority: 108&lt;br /&gt;
vertex: 1 3 priority: 103&lt;br /&gt;
vertex: 4 1 priority: 5&lt;br /&gt;
There are 50 items in the queue.&lt;br /&gt;
The priority queue is: &lt;br /&gt;
vertex: 3 0 priority: 998&lt;br /&gt;
vertex: 3 2 priority: 979&lt;br /&gt;
vertex: 3 2 priority: 979&lt;br /&gt;
vertex: 2 4 priority: 920&lt;br /&gt;
vertex: 0 1 priority: 853&lt;br /&gt;
vertex: 0 1 priority: 853&lt;br /&gt;
vertex: 3 0 priority: 998&lt;br /&gt;
vertex: 4 4 priority: 842&lt;br /&gt;
vertex: 2 2 priority: 830&lt;br /&gt;
vertex: 2 2 priority: 830&lt;br /&gt;
vertex: 3 3 priority: 811&lt;br /&gt;
vertex: 3 3 priority: 811&lt;br /&gt;
vertex: 0 2 priority: 781&lt;br /&gt;
vertex: 0 2 priority: 781&lt;br /&gt;
vertex: 1 1 priority: 556&lt;br /&gt;
vertex: 4 0 priority: 517&lt;br /&gt;
vertex: 4 0 priority: 517&lt;br /&gt;
vertex: 4 3 priority: 464&lt;br /&gt;
vertex: 4 3 priority: 464&lt;br /&gt;
vertex: 3 1 priority: 363&lt;br /&gt;
vertex: 3 1 priority: 363&lt;br /&gt;
vertex: 0 4 priority: 345&lt;br /&gt;
vertex: 1 1 priority: 556&lt;br /&gt;
vertex: 0 4 priority: 345&lt;br /&gt;
vertex: 1 2 priority: 300&lt;br /&gt;
vertex: 1 2 priority: 300&lt;br /&gt;
vertex: 4 4 priority: 842&lt;br /&gt;
vertex: 2 1 priority: 287&lt;br /&gt;
vertex: 2 1 priority: 287&lt;br /&gt;
vertex: 2 3 priority: 222&lt;br /&gt;
vertex: 2 3 priority: 222&lt;br /&gt;
vertex: 1 0 priority: 197&lt;br /&gt;
vertex: 2 4 priority: 920&lt;br /&gt;
vertex: 1 0 priority: 197&lt;br /&gt;
vertex: 1 4 priority: 189&lt;br /&gt;
vertex: 1 4 priority: 189&lt;br /&gt;
vertex: 0 3 priority: 187&lt;br /&gt;
vertex: 0 3 priority: 187&lt;br /&gt;
vertex: 1 3 priority: 136&lt;br /&gt;
vertex: 1 3 priority: 136&lt;br /&gt;
vertex: 0 0 priority: 119&lt;br /&gt;
vertex: 0 0 priority: 119&lt;br /&gt;
vertex: 2 0 priority: 118&lt;br /&gt;
vertex: 2 0 priority: 118&lt;br /&gt;
vertex: 3 4 priority: 115&lt;br /&gt;
vertex: 3 4 priority: 115&lt;br /&gt;
vertex: 4 1 priority: 70&lt;br /&gt;
vertex: 4 1 priority: 70&lt;br /&gt;
vertex: 4 2 priority: 63&lt;br /&gt;
vertex: 4 2 priority: 63&lt;br /&gt;
&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(IndirectPriorityQueue)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(IndirectPriorityQueue IndirectPriorityQueue.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/C%2B%2B0x/Lambda</id>
		<title>CPP/C++0x/Lambda</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/C%2B%2B0x/Lambda"/>
				<updated>2012-07-13T17:39:50Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Lambda.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;utility&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void Lambda();&lt;br /&gt;
&lt;br /&gt;
void Equivalent();&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void Lambda()&lt;br /&gt;
{&lt;br /&gt;
    std::vector&amp;lt;std::pair&amp;lt;int, float&amp;gt; &amp;gt; v{&lt;br /&gt;
         {1, 4.5}, {3, 6.7}, {9, 7.8}&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    auto it=std::find_if(v.begin(), v.end(), [](std::pair&amp;lt;int, float&amp;gt; p) {&lt;br /&gt;
        return p.first==3;&lt;br /&gt;
    }); // This lambda expression (or &amp;quot;anonymous function&amp;quot;) lets you &amp;quot;on the fly&amp;quot; define a function to be used.&lt;br /&gt;
    // Here, we are comparing the .first of all of the items in the container to &amp;quot;3&amp;quot;&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; it-&amp;gt;second;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
struct Equals&lt;br /&gt;
{&lt;br /&gt;
  Equals(const int value)&lt;br /&gt;
  {&lt;br /&gt;
    CompareValue = value;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  bool operator()(const std::pair&amp;lt;int, float&amp;gt;&amp;amp; value)&lt;br /&gt;
  {&lt;br /&gt;
    return value.first == 3;&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  int CompareValue;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void Equivalent()&lt;br /&gt;
{&lt;br /&gt;
    std::vector&amp;lt;std::pair&amp;lt;int, float&amp;gt; &amp;gt; v{&lt;br /&gt;
         {1, 4.5}, {3, 6.7}, {9, 7.8}&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    // This works, but this following is shorter:&lt;br /&gt;
//     Equals myEquals;&lt;br /&gt;
//     myEquals.CompareValue = 3;&lt;br /&gt;
//     auto it=std::find_if(v.begin(), v.end(), myEquals);&lt;br /&gt;
&lt;br /&gt;
    auto it=std::find_if(v.begin(), v.end(), Equals(3));&lt;br /&gt;
    &lt;br /&gt;
    std::cout &amp;lt;&amp;lt; it-&amp;gt;second;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(Lambda)&lt;br /&gt;
ADD_EXECUTABLE(Lambda Lambda.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/STL/Set/BoundedInsert</id>
		<title>CPP/STL/Set/BoundedInsert</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/STL/Set/BoundedInsert"/>
				<updated>2012-07-13T14:47:42Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==BoundedInsert.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;set&amp;gt; #include &amp;lt;iterator&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;algorithm&amp;gt;   template&amp;lt;typename T&amp;gt; std::set&amp;lt;T&amp;gt;&amp;amp; bounded_insert(std::set&amp;lt;…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==BoundedInsert.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;set&amp;gt;&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
template&amp;lt;typename T&amp;gt;&lt;br /&gt;
std::set&amp;lt;T&amp;gt;&amp;amp; bounded_insert(std::set&amp;lt;T&amp;gt;&amp;amp; s, std::size_t max, T val) {&lt;br /&gt;
    s.insert(val);&lt;br /&gt;
    while(s.size() &amp;gt; max) &lt;br /&gt;
        s.erase(std::max_element(s.begin(), s.end()));    &lt;br /&gt;
    return s;&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
int main() {&lt;br /&gt;
    std::set&amp;lt;int&amp;gt; s;&lt;br /&gt;
    bounded_insert(s, 10, 0); &lt;br /&gt;
    bounded_insert(s, 10, 1); &lt;br /&gt;
    bounded_insert(s, 10, 3); &lt;br /&gt;
    bounded_insert(s, 10, 4); &lt;br /&gt;
    bounded_insert(s, 10, 5); &lt;br /&gt;
    bounded_insert(s, 10, 6); &lt;br /&gt;
    bounded_insert(s, 10, 7); &lt;br /&gt;
    bounded_insert(s, 10, 8); &lt;br /&gt;
    bounded_insert(s, 10, 9); &lt;br /&gt;
    bounded_insert(s, 10, 10);&lt;br /&gt;
    bounded_insert(s, 10, 2); &lt;br /&gt;
    bounded_insert(s, 10, 20);&lt;br /&gt;
    std::copy(s.begin(), s.end(), std::ostream_iterator&amp;lt;int&amp;gt;(std::cout, &amp;quot; &amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CMakeLists.txt ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(BoundedInsert)&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(BoundedInsert BoundedInsert.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/Utilities/EventFilter</id>
		<title>Qt/Utilities/EventFilter</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/Utilities/EventFilter"/>
				<updated>2012-07-06T20:40:39Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QProgressDialog&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main( int argc, char **argv )&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  MainWindow window;&lt;br /&gt;
  &lt;br /&gt;
  window.show();&lt;br /&gt;
  &lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_main.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QTime&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class MainWindow : public QMainWindow, public Ui::MainWindow&lt;br /&gt;
{&lt;br /&gt;
Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
  MainWindow();&lt;br /&gt;
  bool eventFilter(QObject *object, QEvent *event);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// Qt&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
#include &amp;lt;QEvent&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// STL&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MainWindow::MainWindow()&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
  lineEdit-&amp;gt;installEventFilter(this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 bool MainWindow::eventFilter(QObject *object, QEvent *event)&lt;br /&gt;
 {&lt;br /&gt;
  if (object == lineEdit &amp;amp;&amp;amp; event-&amp;gt;type() == QEvent::FocusOut)&lt;br /&gt;
  {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;eventFilter&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  }&lt;br /&gt;
  return false; // Pass the event along (don't consume it)&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;MainWindow&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QMainWindow&amp;quot; name=&amp;quot;MainWindow&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;571&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;500&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;MainWindow&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;centralwidget&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;layout class=&amp;quot;QVBoxLayout&amp;quot; name=&amp;quot;verticalLayout&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;widget class=&amp;quot;QLineEdit&amp;quot; name=&amp;quot;lineEdit&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;widget class=&amp;quot;QLabel&amp;quot; name=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;string&amp;gt;TextLabel&amp;lt;/string&amp;gt;&lt;br /&gt;
      &amp;lt;/property&amp;gt;&lt;br /&gt;
     &amp;lt;/widget&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;/layout&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(EventFilter)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs main.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(EventFilter main.cpp form.cpp ${UISrcs} ${MOCSrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(EventFilter ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Pragma</id>
		<title>CPP/Pragma</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Pragma"/>
				<updated>2012-06-10T13:04:37Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==Pragma.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;typeinfo&amp;gt;  #define STR(x) STR2(x) #define STR2(x) #x  #define FOO 3  int main(int, char*[]) {   #pragma message(&amp;quot;…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Pragma.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;typeinfo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define STR(x) STR2(x)&lt;br /&gt;
#define STR2(x) #x&lt;br /&gt;
&lt;br /&gt;
#define FOO 3&lt;br /&gt;
&lt;br /&gt;
int main(int, char*[])&lt;br /&gt;
{&lt;br /&gt;
  #pragma message(&amp;quot;A message!&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
  #pragma message(STR(FOO))&lt;br /&gt;
  &lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(Pragma)&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(Pragma Pragma.cpp)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/AutoConnect</id>
		<title>Qt/AutoConnect</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/AutoConnect"/>
				<updated>2012-06-06T00:46:43Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==AutoConnect.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;QApplication&amp;gt;  #include &amp;quot;form.h&amp;quot;  int main(int argc, char *argv[]) {   QApplication app(argc, argv);   Form form;      form.show…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==AutoConnect.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
  &lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, private Ui::Form&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
    Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
  public slots:&lt;br /&gt;
    void on_pushButton_clicked();&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent)&lt;br /&gt;
    : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Form::on_pushButton_clicked()&lt;br /&gt;
{&lt;br /&gt;
  this-&amp;gt;label-&amp;gt;setText(this-&amp;gt;textEdit-&amp;gt;document()-&amp;gt;toPlainText());&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;400&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;300&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;pushButton&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;80&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;120&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;91&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;28&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;string&amp;gt;PushButton&amp;lt;/string&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QLabel&amp;quot; name=&amp;quot;label&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;170&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;220&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;61&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;18&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;string&amp;gt;TextLabel&amp;lt;/string&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QTextEdit&amp;quot; name=&amp;quot;textEdit&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;250&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;30&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;104&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;78&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(AutoConnect)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(AutoConnect AutoConnect.cpp form.h form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(AutoConnect ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Eigen/STL_vector_of_Eigen_vectors</id>
		<title>CPP/Eigen/STL vector of Eigen vectors</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Eigen/STL_vector_of_Eigen_vectors"/>
				<updated>2012-05-17T16:13:10Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==STLVector.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;vector&amp;gt;  #include &amp;lt;Eigen/Geometry&amp;gt; #include &amp;lt;Eigen/Dense&amp;gt; // for Vector #include &amp;lt;Eigen/StdVector&amp;gt; // Required…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==STLVector.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Eigen/Geometry&amp;gt;&lt;br /&gt;
#include &amp;lt;Eigen/Dense&amp;gt; // for Vector&lt;br /&gt;
#include &amp;lt;Eigen/StdVector&amp;gt; // Required (http://eigen.tuxfamily.org/dox-devel/TopicStlContainers.html)&lt;br /&gt;
&lt;br /&gt;
// If Eigen complains about &amp;quot;ptrdiff_t does not name a type&amp;quot;, #include &amp;lt;cstddef&amp;gt; from the file it is complaining about.&lt;br /&gt;
&lt;br /&gt;
typedef std::vector&amp;lt;Eigen::Vector2d,Eigen::aligned_allocator&amp;lt;Eigen::Vector2d&amp;gt; &amp;gt; Point2DVector;&lt;br /&gt;
&lt;br /&gt;
Point2DVector Generate2DPoints();&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Point2DVector Generate2DPoints()&lt;br /&gt;
{&lt;br /&gt;
  Point2DVector points;&lt;br /&gt;
&lt;br /&gt;
  float x,y;&lt;br /&gt;
&lt;br /&gt;
  x=282;y=274;&lt;br /&gt;
  points.push_back(Eigen::Vector2d(x,y));&lt;br /&gt;
&lt;br /&gt;
  x=397;y=227;&lt;br /&gt;
  points.push_back(Eigen::Vector2d(x,y));&lt;br /&gt;
&lt;br /&gt;
  x=577;y=271;&lt;br /&gt;
  points.push_back(Eigen::Vector2d(x,y));&lt;br /&gt;
&lt;br /&gt;
  x=462;y=318;&lt;br /&gt;
  points.push_back(Eigen::Vector2d(x,y));&lt;br /&gt;
&lt;br /&gt;
  x=270;y=479;&lt;br /&gt;
  points.push_back(Eigen::Vector2d(x,y));&lt;br /&gt;
&lt;br /&gt;
  x=450;y=523;&lt;br /&gt;
  points.push_back(Eigen::Vector2d(x,y));&lt;br /&gt;
&lt;br /&gt;
  x=566;y=475;&lt;br /&gt;
  points.push_back(Eigen::Vector2d(x,y));&lt;br /&gt;
&lt;br /&gt;
  return points;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(STLVector)&lt;br /&gt;
include_directories(/media/portable/src/Eigen)&lt;br /&gt;
SET(CMAKE_CXX_FLAGS &amp;quot;${CMAKE_CXX_FLAGS} -DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET&amp;quot;)&lt;br /&gt;
ADD_EXECUTABLE(STLVector STLVector.cpp )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/BGL/MaxFlow</id>
		<title>CPP/Boost/BGL/MaxFlow</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/BGL/MaxFlow"/>
				<updated>2012-05-03T21:01:46Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==MaxFlow.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;boost/graph/adjacency_list.hpp&amp;gt; #include &amp;lt;boost/graph/boykov_kolmogorov_max_flow.hpp&amp;gt; #include &amp;lt;boost/graph/push…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==MaxFlow.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/adjacency_list.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/boykov_kolmogorov_max_flow.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/push_relabel_max_flow.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/edmonds_karp_max_flow.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
using namespace boost;&lt;br /&gt;
&lt;br /&gt;
typedef int EdgeWeightType;&lt;br /&gt;
&lt;br /&gt;
typedef adjacency_list_traits &amp;lt; vecS, vecS, directedS &amp;gt; Traits;&lt;br /&gt;
typedef adjacency_list &amp;lt; vecS, vecS, directedS,&lt;br /&gt;
  property &amp;lt; vertex_name_t, std::string,&lt;br /&gt;
    property &amp;lt; vertex_index_t, long,&lt;br /&gt;
      property &amp;lt; vertex_color_t, boost::default_color_type,&lt;br /&gt;
        property &amp;lt; vertex_distance_t, long,&lt;br /&gt;
          property &amp;lt; vertex_predecessor_t, Traits::edge_descriptor &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;,&lt;br /&gt;
&lt;br /&gt;
  property &amp;lt; edge_capacity_t, EdgeWeightType,&lt;br /&gt;
    property &amp;lt; edge_residual_capacity_t, EdgeWeightType,&lt;br /&gt;
      property &amp;lt; edge_reverse_t, Traits::edge_descriptor &amp;gt; &amp;gt; &amp;gt; &amp;gt; Graph;&lt;br /&gt;
&lt;br /&gt;
Traits::edge_descriptor AddEdge(Traits::vertex_descriptor &amp;amp;v1,&lt;br /&gt;
                                Traits::vertex_descriptor &amp;amp;v2,&lt;br /&gt;
                                property_map &amp;lt; Graph, edge_reverse_t &amp;gt;::type &amp;amp;rev,&lt;br /&gt;
                                const double capacity,&lt;br /&gt;
                                Graph &amp;amp;g);&lt;br /&gt;
&lt;br /&gt;
int main(int, char*[])&lt;br /&gt;
{&lt;br /&gt;
  Graph g; //a graph with 0 vertices&lt;br /&gt;
&lt;br /&gt;
  property_map &amp;lt; Graph, edge_reverse_t &amp;gt;::type rev = get(edge_reverse, g);&lt;br /&gt;
&lt;br /&gt;
  //add a source and sink node, and store them in s and t, respectively&lt;br /&gt;
  Traits::vertex_descriptor v0 = add_vertex(g);&lt;br /&gt;
  Traits::vertex_descriptor v1 = add_vertex(g);&lt;br /&gt;
  Traits::vertex_descriptor v2 = add_vertex(g);&lt;br /&gt;
  Traits::vertex_descriptor v3 = add_vertex(g);&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  AddEdge(v0, v1, rev, 6.0, g);&lt;br /&gt;
  AddEdge(v0, v2, rev, 5.0, g);&lt;br /&gt;
  AddEdge(v1, v2, rev, 8.0, g);&lt;br /&gt;
  AddEdge(v2, v3, rev, 7.0, g);&lt;br /&gt;
  */&lt;br /&gt;
  AddEdge(v0, v1, rev, 6, g);&lt;br /&gt;
  AddEdge(v0, v2, rev, 5, g);&lt;br /&gt;
  AddEdge(v1, v3, rev, 8, g);&lt;br /&gt;
  AddEdge(v2, v3, rev, 7, g);&lt;br /&gt;
&lt;br /&gt;
  //find min cut&lt;br /&gt;
  EdgeWeightType flow = boykov_kolmogorov_max_flow(g, v0, v3); // a list of sources will be returned in s, and a list of sinks will be returned in t&lt;br /&gt;
  //EdgeWeightType flow = push_relabel_max_flow(g, v0, v3); // a list of sources will be returned in s, and a list of sinks will be returned in t&lt;br /&gt;
  //EdgeWeightType flow = edmunds_karp_max_flow(g, v0, v3); // a list of sources will be returned in s, and a list of sinks will be returned in t&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Max flow is: &amp;quot; &amp;lt;&amp;lt; flow &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  property_map&amp;lt;Graph, edge_capacity_t&amp;gt;::type&lt;br /&gt;
		  capacity = get(edge_capacity, g);&lt;br /&gt;
  property_map&amp;lt;Graph, edge_residual_capacity_t&amp;gt;::type&lt;br /&gt;
		  residual_capacity = get(edge_residual_capacity, g);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  graph_traits&amp;lt;Graph&amp;gt;::vertex_iterator u_iter, u_end;&lt;br /&gt;
  graph_traits&amp;lt;Graph&amp;gt;::out_edge_iterator ei, e_end;&lt;br /&gt;
  for (tie(u_iter, u_end) = vertices(g); u_iter != u_end; ++u_iter)&lt;br /&gt;
	  for (tie(ei, e_end) = out_edges(*u_iter, g); ei != e_end; ++ei)&lt;br /&gt;
		  if (capacity[*ei] &amp;gt; 0)&lt;br /&gt;
			  std::cout &amp;lt;&amp;lt; &amp;quot;Source: &amp;quot; &amp;lt;&amp;lt; *u_iter &amp;lt;&amp;lt; &amp;quot; destination: &amp;quot; &amp;lt;&amp;lt; target(*ei, g) &amp;lt;&amp;lt; &amp;quot; capacity: &amp;quot;  &amp;lt;&amp;lt; capacity[*ei] &amp;lt;&amp;lt; &amp;quot;residual cap: &amp;quot; &amp;lt;&amp;lt; residual_capacity[*ei] &amp;lt;&amp;lt; &amp;quot; used capacity: &amp;quot;&lt;br /&gt;
					  &amp;lt;&amp;lt; (capacity[*ei] - residual_capacity[*ei]) &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
 return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Traits::edge_descriptor AddEdge(Traits::vertex_descriptor &amp;amp;v1, Traits::vertex_descriptor &amp;amp;v2, property_map &amp;lt; Graph, edge_reverse_t &amp;gt;::type &amp;amp;rev, const double capacity, Graph &amp;amp;g)&lt;br /&gt;
{&lt;br /&gt;
  Traits::edge_descriptor e1 = add_edge(v1, v2, g).first;&lt;br /&gt;
  Traits::edge_descriptor e2 = add_edge(v2, v1, g).first;&lt;br /&gt;
  put(edge_capacity, g, e1, capacity);&lt;br /&gt;
  put(edge_capacity, g, e2, capacity);&lt;br /&gt;
&lt;br /&gt;
  rev[e1] = e2;&lt;br /&gt;
  rev[e2] = e1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  //find min cut&lt;br /&gt;
  kolmogorov_max_flow&lt;br /&gt;
		  (Graph&amp;amp; g,&lt;br /&gt;
		    CapacityEdgeMap cap,&lt;br /&gt;
    ResidualCapacityEdgeMap res_cap,&lt;br /&gt;
    ReverseEdgeMap rev,&lt;br /&gt;
    ColorMap color,&lt;br /&gt;
    IndexMap idx,&lt;br /&gt;
    typename graph_traits&amp;lt;Graph&amp;gt;::vertex_descriptor src,&lt;br /&gt;
    typename graph_traits&amp;lt;Graph&amp;gt;::vertex_descriptor sink)&lt;br /&gt;
  {&lt;br /&gt;
  */&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
project(MaxFlow)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON) # which is the default&lt;br /&gt;
find_package(Boost 1.46)&lt;br /&gt;
&lt;br /&gt;
include_directories(${Boost_INCLUDE_DIRS})&lt;br /&gt;
&lt;br /&gt;
add_executable(MaxFlow MaxFlow.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/PCL</id>
		<title>PCL</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/PCL"/>
				<updated>2012-02-03T00:44:48Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with 'Examples to be added to PCL:  '''Misc:''' * Nearest neighbors * Region growing  '''Features:''' * RIFT feature * CVFH feature * PPF feature * Integral image usage * Spin image * …'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Examples to be added to PCL:&lt;br /&gt;
&lt;br /&gt;
'''Misc:'''&lt;br /&gt;
* Nearest neighbors&lt;br /&gt;
* Region growing&lt;br /&gt;
&lt;br /&gt;
'''Features:'''&lt;br /&gt;
* RIFT feature&lt;br /&gt;
* CVFH feature&lt;br /&gt;
* PPF feature&lt;br /&gt;
* Integral image usage&lt;br /&gt;
* Spin image&lt;br /&gt;
* Radius based surface descriptor&lt;br /&gt;
&lt;br /&gt;
'''Keypoints:'''&lt;br /&gt;
* Harris Keypoint&lt;br /&gt;
* SIFT Keypoint&lt;br /&gt;
* Smoothed surface Keypoint&lt;br /&gt;
&lt;br /&gt;
'''Registration:'''&lt;br /&gt;
* How to use GICP&lt;br /&gt;
* Registration pipeline with code snippets for finding Keypoints, Features, Correspondences and so on (Can be a part of Applications)&lt;br /&gt;
&lt;br /&gt;
'''Applications:''' &lt;br /&gt;
* Object recognition pipeline from scene cloud to object cloud&lt;br /&gt;
* Localization based on registration using RGB-D map&lt;br /&gt;
* Object tracking&lt;br /&gt;
* Filtering the cloud based on color&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/BGL/FilteredGraphEdges</id>
		<title>CPP/Boost/BGL/FilteredGraphEdges</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/BGL/FilteredGraphEdges"/>
				<updated>2012-01-26T15:25:23Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==FilteredGraph.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt;  #include &amp;lt;boost/graph/adjacency_list.hpp&amp;gt; #include &amp;lt;boost/array.hpp&amp;gt; #include &amp;lt;boost/graph/filtered_graph.hpp&amp;gt; #inc…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FilteredGraph.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;boost/graph/adjacency_list.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/array.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/filtered_graph.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/graph_utility.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename EdgeWeightMap&amp;gt;&lt;br /&gt;
struct positive_edge_weight {&lt;br /&gt;
  positive_edge_weight() { }&lt;br /&gt;
  positive_edge_weight(EdgeWeightMap weight) : m_weight(weight) { }&lt;br /&gt;
  template &amp;lt;typename Edge&amp;gt;&lt;br /&gt;
  bool operator()(const Edge&amp;amp; e) const {&lt;br /&gt;
    return 0 &amp;lt; get(m_weight, e);&lt;br /&gt;
  }&lt;br /&gt;
  EdgeWeightMap m_weight;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  using namespace boost;&lt;br /&gt;
&lt;br /&gt;
  typedef adjacency_list&amp;lt;vecS, vecS, directedS,&lt;br /&gt;
    no_property, property&amp;lt;edge_weight_t, int&amp;gt; &amp;gt; Graph;&lt;br /&gt;
  typedef property_map&amp;lt;Graph, edge_weight_t&amp;gt;::type EdgeWeightMap;&lt;br /&gt;
&lt;br /&gt;
  enum { A, B, C, D, E, N };&lt;br /&gt;
  const char* name = &amp;quot;ABCDE&amp;quot;;&lt;br /&gt;
  Graph g(N);&lt;br /&gt;
  add_edge(A, B, 2, g);&lt;br /&gt;
  add_edge(A, C, 0, g);&lt;br /&gt;
  add_edge(C, D, 1, g);&lt;br /&gt;
  add_edge(C, E, 0, g);&lt;br /&gt;
  add_edge(D, B, 3, g);&lt;br /&gt;
  add_edge(E, C, 0, g);&lt;br /&gt;
&lt;br /&gt;
  positive_edge_weight&amp;lt;EdgeWeightMap&amp;gt; filter(get(edge_weight, g));&lt;br /&gt;
  filtered_graph&amp;lt;Graph, positive_edge_weight&amp;lt;EdgeWeightMap&amp;gt; &amp;gt; filteredGraph(g, filter);&lt;br /&gt;
&lt;br /&gt;
  boost::print_graph(filteredGraph, name);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(FilteredGraphEdges)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS required)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(FilteredGraphEdges FilteredGraphEdges.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/BGL/GridGraphVertexIterator</id>
		<title>CPP/Boost/BGL/GridGraphVertexIterator</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/BGL/GridGraphVertexIterator"/>
				<updated>2012-01-25T21:01:13Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==GridGraphVertexIterator.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;boost/array.hpp&amp;gt; #include &amp;lt;boost/graph/grid_graph.hpp&amp;gt;  int main(int argc, char* argv[])  {   ty…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==GridGraphVertexIterator.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/array.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/grid_graph.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[]) &lt;br /&gt;
{&lt;br /&gt;
  typedef boost::grid_graph&amp;lt;2&amp;gt; Graph;&lt;br /&gt;
&lt;br /&gt;
  boost::array&amp;lt;std::size_t, 2&amp;gt; lengths = { { 5,5 } };&lt;br /&gt;
  Graph graph(lengths);&lt;br /&gt;
  boost::graph_traits&amp;lt;Graph&amp;gt;::vertex_iterator iterator = vertices(graph); // Compiler error - can't convert iterator to this iterator type&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(GridGraphVertexIterator)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(GridGraphVertexIterator GridGraphVertexIterator.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/BGL/d_ary_heap_indirect</id>
		<title>CPP/Boost/BGL/d ary heap indirect</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/BGL/d_ary_heap_indirect"/>
				<updated>2012-01-25T19:19:30Z</updated>
		
		<summary type="html">&lt;p&gt;Mikael.s.persson: /* d_ary_heap_indirect.cpp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==d_ary_heap_indirect.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
#include &amp;lt;boost/graph/grid_graph.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/detail/d_ary_heap.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/property_map/property_map.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
template &amp;lt;typename T&amp;gt;&lt;br /&gt;
struct LessThanFunctor&lt;br /&gt;
{&lt;br /&gt;
  bool operator()(const T&amp;amp; a, const T&amp;amp; b)&lt;br /&gt;
  {&lt;br /&gt;
    return a &amp;lt; b;&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
int main(int argc, char*argv[])&lt;br /&gt;
{&lt;br /&gt;
  srand((unsigned int)time(NULL));&lt;br /&gt;
&lt;br /&gt;
  boost::array&amp;lt;std::size_t, 2&amp;gt; lengths = { { 5,5 } };&lt;br /&gt;
  typedef boost::grid_graph&amp;lt;2&amp;gt; GraphType;&lt;br /&gt;
  GraphType graph(lengths);&lt;br /&gt;
  typedef boost::graph_traits&amp;lt;GraphType&amp;gt;::vertex_descriptor Vertex;&lt;br /&gt;
  typedef boost::property_map&amp;lt;GraphType, boost::vertex_index_t&amp;gt;::const_type GridIndexMapType;&lt;br /&gt;
  GridIndexMapType gridIndexMap(get(boost::vertex_index, graph));&lt;br /&gt;
 &lt;br /&gt;
  typedef boost::vector_property_map&amp;lt;std::size_t, GridIndexMapType&amp;gt; IndexInHeapMap;&lt;br /&gt;
  IndexInHeapMap index_in_heap(gridIndexMap);&lt;br /&gt;
  &lt;br /&gt;
  boost::graph_traits&amp;lt;GraphType&amp;gt;::vertex_iterator ui, ui_end;&lt;br /&gt;
  for( tie(ui,ui_end) = vertices(graph); ui != ui_end; ++ui)&lt;br /&gt;
    put(index_in_heap, *ui, static_cast&amp;lt;std::size_t&amp;gt;(-1));&lt;br /&gt;
  &lt;br /&gt;
  typedef boost::vector_property_map&amp;lt;float, GridIndexMapType&amp;gt; PriorityMapType;&lt;br /&gt;
  PriorityMapType priorityMap(gridIndexMap);&lt;br /&gt;
  for( tie(ui,ui_end) = vertices(graph); ui != ui_end; ++ui)&lt;br /&gt;
    put(priorityMap, *ui, rand() % 1000);&lt;br /&gt;
  &lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Given the following random grid-graph: &amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  Vertex v = vertex(0,graph);&lt;br /&gt;
  for(std::size_t i = 0; i &amp;lt; lengths[0]; ++i) {&lt;br /&gt;
    Vertex u = v;&lt;br /&gt;
    for(std::size_t j = 0; j &amp;lt; lengths[1]; ++j) {&lt;br /&gt;
      std::cout &amp;lt;&amp;lt; std::setw(5) &amp;lt;&amp;lt; get(priorityMap, u);&lt;br /&gt;
      u = graph.next(u,1);&lt;br /&gt;
    };&lt;br /&gt;
    v = graph.next(v,0);&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  typedef boost::d_ary_heap_indirect&amp;lt;Vertex, 4, IndexInHeapMap, PriorityMapType, LessThanFunctor&amp;lt;float&amp;gt; &amp;gt; MutableQueue;&lt;br /&gt;
 &lt;br /&gt;
  LessThanFunctor&amp;lt;float&amp;gt; lessThanFunctor;&lt;br /&gt;
  MutableQueue mutableQueue(priorityMap, index_in_heap, lessThanFunctor);&lt;br /&gt;
&lt;br /&gt;
  for( tie(ui,ui_end) = vertices(graph); ui != ui_end; ++ui)&lt;br /&gt;
    mutableQueue.push(*ui); &lt;br /&gt;
  &lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;We get the following priority queue: &amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  while( ! mutableQueue.empty() ) {&lt;br /&gt;
    Vertex u = mutableQueue.top(); mutableQueue.pop();&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; std::setw(5) &amp;lt;&amp;lt; get(priorityMap, u);&lt;br /&gt;
  };&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(d_ary_heap_indirect)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(d_ary_heap_indirect d_ary_heap_indirect.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/BGL/GridGraphProperties</id>
		<title>CPP/Boost/BGL/GridGraphProperties</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/BGL/GridGraphProperties"/>
				<updated>2012-01-23T20:03:24Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with 'Grid graphs must use &amp;quot;exterior properties&amp;quot;. Here is how:  ==GridGraphProperties.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;boost/array.hpp&amp;gt; #include &amp;lt;boost/graph/gri…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grid graphs must use &amp;quot;exterior properties&amp;quot;. Here is how:&lt;br /&gt;
&lt;br /&gt;
==GridGraphProperties.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/array.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/grid_graph.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[]) &lt;br /&gt;
{&lt;br /&gt;
  typedef boost::grid_graph&amp;lt;2&amp;gt; GraphType;&lt;br /&gt;
&lt;br /&gt;
  const unsigned int dimension = 5;&lt;br /&gt;
  boost::array&amp;lt;std::size_t, 2&amp;gt; lengths = { { dimension, dimension } };&lt;br /&gt;
  GraphType graph(lengths);&lt;br /&gt;
&lt;br /&gt;
  boost::graph_traits&amp;lt;GraphType&amp;gt;::vertex_descriptor v = { { 0, 1 } };&lt;br /&gt;
&lt;br /&gt;
  std::vector&amp;lt;float&amp;gt; vertexData(dimension * dimension, 3);&lt;br /&gt;
&lt;br /&gt;
  typedef boost::property_map&amp;lt;GraphType, boost::vertex_index_t&amp;gt;::const_type indexMapType;&lt;br /&gt;
&lt;br /&gt;
  indexMapType indexMap(get(boost::vertex_index, graph));&lt;br /&gt;
&lt;br /&gt;
  boost::iterator_property_map&amp;lt;std::vector&amp;lt;float&amp;gt;::iterator, indexMapType&amp;gt; myMap(vertexData.begin(), indexMap);&lt;br /&gt;
&lt;br /&gt;
  float retrieved = get(myMap, v);&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Retrieved: &amp;quot; &amp;lt;&amp;lt; retrieved &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(GridGraphProperties)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS required)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(GridGraphProperties GridGraphProperties.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/BGL/FilteredGraph</id>
		<title>CPP/Boost/BGL/FilteredGraph</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/BGL/FilteredGraph"/>
				<updated>2012-01-22T21:55:53Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Get a vertex_iterator&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==FilteredGraph.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;boost/graph/adjacency_list.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/array.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/filtered_graph.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/graph_utility.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename TGraph&amp;gt;&lt;br /&gt;
struct vertex_id_filter&lt;br /&gt;
{&lt;br /&gt;
  bool operator()(const typename boost::graph_traits&amp;lt;TGraph&amp;gt;::vertex_descriptor&amp;amp; v) const&lt;br /&gt;
  {&lt;br /&gt;
    return 3 &amp;lt; v; // keep all vertx_descriptors greater than 3&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  typedef boost::adjacency_list&amp;lt;boost::vecS, boost::vecS, boost::directedS,&lt;br /&gt;
    boost::no_property, boost::property&amp;lt;boost::edge_weight_t, int&amp;gt; &amp;gt; Graph;&lt;br /&gt;
  typedef boost::property_map&amp;lt;Graph, boost::edge_weight_t&amp;gt;::type EdgeWeightMap;&lt;br /&gt;
&lt;br /&gt;
  unsigned int numberOfVertices = 10;&lt;br /&gt;
  Graph g(numberOfVertices);&lt;br /&gt;
  for(unsigned int i = 0; i &amp;lt; numberOfVertices - 1; ++i)&lt;br /&gt;
    {&lt;br /&gt;
    add_edge(i, i+1, g);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Original graph:&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  boost::print_graph(g);&lt;br /&gt;
&lt;br /&gt;
  vertex_id_filter&amp;lt;Graph&amp;gt; filter;&lt;br /&gt;
  typedef boost::filtered_graph&amp;lt;Graph, boost::keep_all, vertex_id_filter&amp;lt;Graph&amp;gt; &amp;gt; FilteredGraphType;&lt;br /&gt;
  FilteredGraphType filteredGraph(g, boost::keep_all(), filter); // (graph, EdgePredicate, VertexPredicate)&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Filtered graph:&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  boost::print_graph(filteredGraph);&lt;br /&gt;
  &lt;br /&gt;
  FilteredGraphType::vertex_iterator ui,ui_end; tie(ui,ui_end) = vertices(filteredGraph);&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(FilteredGraphVertices)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS required)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(FilteredGraphVertices FilteredGraphVertices.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/CustomIterator</id>
		<title>CPP/CustomIterator</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/CustomIterator"/>
				<updated>2012-01-02T16:19:32Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with 'This example demonstrates what you have to implement to create an STL iterator.  ==CustomIterator.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iterator&amp;gt;  template &amp;lt;typename T&amp;gt; struct Poin…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This example demonstrates what you have to implement to create an STL iterator.&lt;br /&gt;
&lt;br /&gt;
==CustomIterator.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iterator&amp;gt;&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename T&amp;gt;&lt;br /&gt;
struct PointedType;&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename T&amp;gt;&lt;br /&gt;
struct PointedType&amp;lt;T*&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  typedef T value_type;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename InputIterator&amp;gt;&lt;br /&gt;
struct DerefIterator&lt;br /&gt;
{&lt;br /&gt;
  typedef input_iterator_tag iterator_category;&lt;br /&gt;
  typedef typename PointedType&amp;lt;&lt;br /&gt;
            typename iterator_traits&amp;lt;InputIterator&amp;gt;::value_type&amp;gt;::value_type&lt;br /&gt;
            value_type;&lt;br /&gt;
  typedef typename iterator_traits&amp;lt;InputIterator&amp;gt;::difference_type&lt;br /&gt;
            difference_type;&lt;br /&gt;
  typedef value_type* pointer;&lt;br /&gt;
  typedef value_type&amp;amp; reference;&lt;br /&gt;
&lt;br /&gt;
  public:&lt;br /&gt;
    explicit DerefIterator(const InputIterator&amp;amp; ii)&lt;br /&gt;
      : it(ii) {}&lt;br /&gt;
&lt;br /&gt;
    // Returns the object pointed by the object referenced by it&lt;br /&gt;
    reference operator*()  const { return **it; }&lt;br /&gt;
    pointer   operator-&amp;gt;() const { return *it; }&lt;br /&gt;
&lt;br /&gt;
    DerefIterator&amp;amp; operator++()&lt;br /&gt;
    {&lt;br /&gt;
        ++it;&lt;br /&gt;
        return *this;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    DerefIterator operator++(int)&lt;br /&gt;
    {&lt;br /&gt;
        DerefIterator tmp = *this;&lt;br /&gt;
        ++it;&lt;br /&gt;
        return tmp;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    bool equals(const DerefIterator&amp;lt;InputIterator&amp;gt; &amp;amp; di) const&lt;br /&gt;
    {&lt;br /&gt;
        return di.it == it;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  private:&lt;br /&gt;
    InputIterator it;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Equality functions&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename InputIterator&amp;gt;&lt;br /&gt;
inline bool operator==(const DerefIterator&amp;lt;InputIterator&amp;gt;&amp;amp; di1,&lt;br /&gt;
                       const DerefIterator&amp;lt;InputIterator&amp;gt;&amp;amp; di2)&lt;br /&gt;
{&lt;br /&gt;
  return di1.equals(di2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename InputIterator&amp;gt;&lt;br /&gt;
inline bool operator!=(const DerefIterator&amp;lt;InputIterator&amp;gt;&amp;amp; di1,&lt;br /&gt;
                       const DerefIterator&amp;lt;InputIterator&amp;gt;&amp;amp; di2)&lt;br /&gt;
{&lt;br /&gt;
  return ! (di1 == di2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Helper function&lt;br /&gt;
&lt;br /&gt;
template &amp;lt;typename InputIterator&amp;gt;&lt;br /&gt;
DerefIterator&amp;lt;InputIterator&amp;gt; deref_iterator(const InputIterator&amp;amp; ii)&lt;br /&gt;
{&lt;br /&gt;
  return DerefIterator&amp;lt;InputIterator&amp;gt;(ii);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  return 0;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(CustomIterator)&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(CustomIterator CustomIterator.cpp)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/Iterators/IndirectIterator</id>
		<title>CPP/Boost/Iterators/IndirectIterator</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/Iterators/IndirectIterator"/>
				<updated>2012-01-02T16:17:43Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==IndirectIterator.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;set&amp;gt;  #include &amp;lt;boost/iterator/indirect_iterator.hpp&amp;gt;  // Expose the itererator if the container stores…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==IndirectIterator.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;set&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;boost/iterator/indirect_iterator.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Expose the itererator if the container stores objects.&lt;br /&gt;
// class MyCollection&lt;br /&gt;
// {&lt;br /&gt;
// public:&lt;br /&gt;
//   // Iterator interface&lt;br /&gt;
//   typedef std::set&amp;lt;int&amp;gt;::iterator iterator;&lt;br /&gt;
//   typedef std::set&amp;lt;int&amp;gt;::const_iterator const_iterator;&lt;br /&gt;
// &lt;br /&gt;
//   iterator begin() { return objects.begin(); }&lt;br /&gt;
// &lt;br /&gt;
//   iterator end() { return objects.end(); }&lt;br /&gt;
// &lt;br /&gt;
// private:&lt;br /&gt;
// &lt;br /&gt;
//   std::set&amp;lt;int&amp;gt; objects;&lt;br /&gt;
// };&lt;br /&gt;
&lt;br /&gt;
// Expose the itererator if the container stores pointers.&lt;br /&gt;
class MyCollection&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  MyCollection()&lt;br /&gt;
  {&lt;br /&gt;
    objects.insert(new int(3));&lt;br /&gt;
  }&lt;br /&gt;
  // Iterator interface&lt;br /&gt;
  //typedef boost::indirect_iterator&amp;lt;std::set&amp;lt;int&amp;gt; &amp;gt; iterator;&lt;br /&gt;
  typedef boost::indirect_iterator&amp;lt;std::set&amp;lt;int*&amp;gt;::iterator&amp;gt; iterator;&lt;br /&gt;
&lt;br /&gt;
  iterator begin() { return objects.begin(); }&lt;br /&gt;
&lt;br /&gt;
  iterator end() { return objects.end(); }&lt;br /&gt;
&lt;br /&gt;
private:&lt;br /&gt;
&lt;br /&gt;
  std::set&amp;lt;int*&amp;gt; objects;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
  MyCollection myCollection;&lt;br /&gt;
&lt;br /&gt;
  for(MyCollection::iterator iterator = myCollection.begin(); iterator != myCollection.end(); iterator++)&lt;br /&gt;
  {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; *iterator;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(IndirectIterator)&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(IndirectIterator IndirectIterator.cpp)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/StaticConstInitialization</id>
		<title>CPP/StaticConstInitialization</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/StaticConstInitialization"/>
				<updated>2011-12-29T14:33:26Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==main.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt;  #include &amp;quot;StaticConst.h&amp;quot;  int main(int argc, char* argv[]) {   std::cout &amp;lt;&amp;lt; MyClass::float_sqrteps &amp;lt;&amp;lt; std::endl;   return 0;…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;StaticConst.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[])&lt;br /&gt;
{&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; MyClass::float_sqrteps &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==StaticConst.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef STATIC_CONST_H&lt;br /&gt;
#define STATIC_CONST_H&lt;br /&gt;
&lt;br /&gt;
class MyClass&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  // static const float float_sqrteps  = 3.4526698307e-4f; // this is not ok&lt;br /&gt;
  static const float float_sqrteps;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==StaticConst.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;StaticConst.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
const float MyClass::float_sqrteps = 3.4526698307e-4f;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(StaticConst)&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(StaticConst main.cpp StaticConst.cpp)&lt;br /&gt;
SET(CMAKE_CXX_FLAGS &amp;quot;${CMAKE_CXX_FLAGS} -Wall -std=gnu++0x&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Broken/Qt/ModelView/AbstractTableModelCheckable</id>
		<title>Broken/Qt/ModelView/AbstractTableModelCheckable</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Broken/Qt/ModelView/AbstractTableModelCheckable"/>
				<updated>2011-12-28T19:13:17Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Needed to return something for the CheckStateRole in data()&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MyTableModel.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef MyTableModel_H&lt;br /&gt;
#define MyTableModel_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QAbstractTableModel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class Item&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  Item(const float v, const Qt::CheckState s) {value = v; state = s;}&lt;br /&gt;
  float value;&lt;br /&gt;
  Qt::CheckState state;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
class MyTableModel : public QAbstractTableModel&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  MyTableModel();&lt;br /&gt;
&lt;br /&gt;
  int rowCount(const QModelIndex&amp;amp; parent) const;&lt;br /&gt;
  int columnCount(const QModelIndex&amp;amp; parent) const;&lt;br /&gt;
  QVariant data(const QModelIndex&amp;amp; index, int role) const;&lt;br /&gt;
  QVariant headerData(int section, Qt::Orientation orientation, int role) const;&lt;br /&gt;
  Qt::ItemFlags flags(const QModelIndex&amp;amp; index) const;&lt;br /&gt;
  bool setData(const QModelIndex &amp;amp; index, const QVariant &amp;amp; value, int role);&lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
  std::vector&amp;lt;std::vector&amp;lt;Item&amp;gt; &amp;gt; Columns;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MyTableModel.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;MyTableModel.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;sstream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MyTableModel::MyTableModel() : QAbstractTableModel()&lt;br /&gt;
{&lt;br /&gt;
  std::vector&amp;lt;Item&amp;gt; column1;&lt;br /&gt;
  Item item(10, Qt::Checked);&lt;br /&gt;
  column1.push_back(item);&lt;br /&gt;
  item.value = 20; item.state = Qt::Checked;&lt;br /&gt;
  column1.push_back(item);&lt;br /&gt;
  item.value = 30; item.state = Qt::Checked;&lt;br /&gt;
  column1.push_back(item);&lt;br /&gt;
  item.value = 40; item.state = Qt::Checked;&lt;br /&gt;
  column1.push_back(item);&lt;br /&gt;
  &lt;br /&gt;
  Columns.push_back(column1);&lt;br /&gt;
  &lt;br /&gt;
  std::vector&amp;lt;Item&amp;gt; column2;&lt;br /&gt;
  item.value = 50; item.state = Qt::Unchecked;&lt;br /&gt;
  column2.push_back(item);&lt;br /&gt;
  item.value = 60; item.state = Qt::Unchecked;&lt;br /&gt;
  column2.push_back(item);&lt;br /&gt;
  item.value = 70; item.state = Qt::Unchecked;&lt;br /&gt;
  column2.push_back(item);&lt;br /&gt;
  item.value = 80; item.state = Qt::Unchecked;&lt;br /&gt;
  column2.push_back(item);&lt;br /&gt;
  &lt;br /&gt;
  Columns.push_back(column2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int MyTableModel::rowCount(const QModelIndex&amp;amp; parent) const&lt;br /&gt;
{&lt;br /&gt;
  return Columns[0].size();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int MyTableModel::columnCount(const QModelIndex&amp;amp; parent) const&lt;br /&gt;
{&lt;br /&gt;
  return Columns.size();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QVariant MyTableModel::data(const QModelIndex&amp;amp; index, int role) const&lt;br /&gt;
{&lt;br /&gt;
  if(role == Qt::DisplayRole)&lt;br /&gt;
    {&lt;br /&gt;
    return Columns[index.column()][index.row()].value;&lt;br /&gt;
    }&lt;br /&gt;
  if (index.column() == 1 &amp;amp;&amp;amp; role == Qt::CheckStateRole)&lt;br /&gt;
    {&lt;br /&gt;
    return this-&amp;gt;Columns[index.column()][index.row()].state;&lt;br /&gt;
    }&lt;br /&gt;
  return QVariant::Invalid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QVariant MyTableModel::headerData(int section, Qt::Orientation orientation, int role) const&lt;br /&gt;
{&lt;br /&gt;
  if(role == Qt::DisplayRole)&lt;br /&gt;
    {&lt;br /&gt;
    std::stringstream ss;&lt;br /&gt;
    if(orientation == Qt::Horizontal)&lt;br /&gt;
      {&lt;br /&gt;
      ss &amp;lt;&amp;lt; &amp;quot;H_&amp;quot; &amp;lt;&amp;lt; section;&lt;br /&gt;
      return QString(ss.str().c_str());&lt;br /&gt;
      }&lt;br /&gt;
    else if(orientation == Qt::Vertical)&lt;br /&gt;
      {&lt;br /&gt;
      ss &amp;lt;&amp;lt; &amp;quot;V_&amp;quot; &amp;lt;&amp;lt; section;&lt;br /&gt;
      return QString(ss.str().c_str());&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  return QVariant::Invalid;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
bool MyTableModel::setData(const QModelIndex &amp;amp; index, const QVariant &amp;amp; value, int role)&lt;br /&gt;
{&lt;br /&gt;
  if (index.column() == 1 &amp;amp;&amp;amp; role == Qt::CheckStateRole)&lt;br /&gt;
    {&lt;br /&gt;
    this-&amp;gt;Columns[index.column()][index.row()].state = static_cast&amp;lt;Qt::CheckState&amp;gt;(value.toUInt());&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  emit dataChanged(index, index);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Qt::ItemFlags MyTableModel::flags(const QModelIndex&amp;amp; index) const&lt;br /&gt;
{&lt;br /&gt;
  Qt::ItemFlags returnFlags = QAbstractTableModel::flags(index);&lt;br /&gt;
&lt;br /&gt;
  if (index.column() == 1)&lt;br /&gt;
    {&lt;br /&gt;
    returnFlags |= Qt::ItemIsUserCheckable;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  return returnFlags;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;MyTableModel.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, public Ui::Form&lt;br /&gt;
{&lt;br /&gt;
Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
  Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
  MyTableModel* model;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QAbstractTableModel&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;sstream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent) : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;model = new MyTableModel;&lt;br /&gt;
  this-&amp;gt;tableView-&amp;gt;setModel(model);&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;tableView-&amp;gt;resizeColumnsToContents();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;400&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;300&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;layout class=&amp;quot;QGridLayout&amp;quot; name=&amp;quot;gridLayout&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;0&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QTableView&amp;quot; name=&amp;quot;tableView&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;attribute name=&amp;quot;horizontalHeaderStretchLastSection&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;bool&amp;gt;true&amp;lt;/bool&amp;gt;&lt;br /&gt;
     &amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;1&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;btnUpdate&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;string&amp;gt;Update&amp;lt;/string&amp;gt;&lt;br /&gt;
     &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/layout&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(AbstractTableModelCheckable)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(AbstractTableModelCheckable main.cpp MyTableModel.cpp form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(AbstractTableModelCheckable ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/ModelView/ItemSelectionModel</id>
		<title>Qt/ModelView/ItemSelectionModel</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/ModelView/ItemSelectionModel"/>
				<updated>2011-12-21T21:02:59Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==main.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;QApplication&amp;gt;  #include &amp;quot;form.h&amp;quot;  int main(int argc, char *argv[]) {   QApplication app(argc, argv);   Form form;      form.show();   r…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
  &lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QMainWindow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class QStringList;&lt;br /&gt;
class QStringListModel;&lt;br /&gt;
class QItemSelectionModel;&lt;br /&gt;
&lt;br /&gt;
class Form : public QMainWindow, private Ui::MainWindow&lt;br /&gt;
{&lt;br /&gt;
  Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
  Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
public slots:&lt;br /&gt;
  void slot_selectionChanged (const QItemSelection  &amp;amp;selected, const QItemSelection  &amp;amp;deselected );&lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
  QStringListModel* Model;&lt;br /&gt;
  QItemSelectionModel* SelectionModel;&lt;br /&gt;
  QStringList* StringList;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QItemSelectionModel&amp;gt;&lt;br /&gt;
#include &amp;lt;QStringListModel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent) : QMainWindow(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Current path: &amp;quot; &amp;lt;&amp;lt; QDir::currentPath().toStdString() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  //this-&amp;gt;StringList = new QStringList(&amp;quot;a&amp;quot; &amp;lt;&amp;lt; &amp;quot;b&amp;quot; &amp;lt;&amp;lt; &amp;quot;c&amp;quot;);&lt;br /&gt;
  //this-&amp;gt;StringList = new QStringList(&amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot;);&lt;br /&gt;
  this-&amp;gt;StringList = new QStringList;&lt;br /&gt;
  *(this-&amp;gt;StringList) &amp;lt;&amp;lt; &amp;quot;a&amp;quot;;&lt;br /&gt;
  *(this-&amp;gt;StringList) &amp;lt;&amp;lt; &amp;quot;b&amp;quot;;&lt;br /&gt;
  *(this-&amp;gt;StringList) &amp;lt;&amp;lt; &amp;quot;c&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
  this-&amp;gt;Model = new QStringListModel;&lt;br /&gt;
  this-&amp;gt;Model-&amp;gt;setStringList(*this-&amp;gt;StringList);&lt;br /&gt;
  this-&amp;gt;listView-&amp;gt;setModel(this-&amp;gt;Model);&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;SelectionModel = new QItemSelectionModel(this-&amp;gt;Model);&lt;br /&gt;
  this-&amp;gt;listView-&amp;gt;setSelectionModel(this-&amp;gt;SelectionModel);&lt;br /&gt;
&lt;br /&gt;
  connect(this-&amp;gt;SelectionModel, SIGNAL(selectionChanged (const QItemSelection&amp;amp;, const QItemSelection&amp;amp;)),&lt;br /&gt;
          this, SLOT(slot_selectionChanged(QItemSelection,QItemSelection)));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Form::slot_selectionChanged (const QItemSelection  &amp;amp;selected, const QItemSelection  &amp;amp;deselected )&lt;br /&gt;
{&lt;br /&gt;
  for(unsigned int i = 0; i &amp;lt; selected.indexes().size(); ++i)&lt;br /&gt;
    {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; selected.at(i).topLeft().row() &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;MainWindow&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QMainWindow&amp;quot; name=&amp;quot;MainWindow&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;202&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;248&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;MainWindow&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;centralwidget&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;layout class=&amp;quot;QVBoxLayout&amp;quot; name=&amp;quot;verticalLayout&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;widget class=&amp;quot;QListView&amp;quot; name=&amp;quot;listView&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;/layout&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QMenuBar&amp;quot; name=&amp;quot;menubar&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;202&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;20&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
   &amp;lt;widget class=&amp;quot;QMenu&amp;quot; name=&amp;quot;menuFile&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;property name=&amp;quot;title&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;string&amp;gt;File&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;addaction name=&amp;quot;actionSave&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;addaction name=&amp;quot;menuFile&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QStatusBar&amp;quot; name=&amp;quot;statusBar&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;action name=&amp;quot;actionSave&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;string&amp;gt;Save&amp;lt;/string&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/action&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(ItemSelectionModel)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(ItemSelectionModel_UI form.ui)&lt;br /&gt;
QT4_WRAP_CPP(ItemSelectionModel_MOC form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(ItemSelectionModel main.cpp form.h form.cpp ${ItemSelectionModel_UI} ${ItemSelectionModel_MOC})&lt;br /&gt;
TARGET_LINK_LIBRARIES(ItemSelectionModel ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/ModelView/ListViewComboBox</id>
		<title>Qt/ModelView/ListViewComboBox</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/ModelView/ListViewComboBox"/>
				<updated>2011-12-21T02:21:10Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==main.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;QApplication&amp;gt;  #include &amp;quot;form.h&amp;quot;  int main(int argc, char *argv[]) {   QApplication app(argc, argv);   Form form;      form.show();   r…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
  &lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ComboBoxDelegate.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef COMBOBOXDELEGATE_H&lt;br /&gt;
#define COMBOBOXDELEGATE_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QItemDelegate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class QModelIndex;&lt;br /&gt;
class QWidget;&lt;br /&gt;
class QVariant;&lt;br /&gt;
&lt;br /&gt;
class ComboBoxDelegate : public QItemDelegate&lt;br /&gt;
{&lt;br /&gt;
Q_OBJECT&lt;br /&gt;
public:&lt;br /&gt;
  ComboBoxDelegate(QObject *parent = 0);&lt;br /&gt;
  &lt;br /&gt;
  QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
  void setEditorData(QWidget *editor, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
  void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
  void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
  void paint(QPainter *painter, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
&lt;br /&gt;
private:&lt;br /&gt;
  std::vector&amp;lt;std::string&amp;gt; Items;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ComboBoxDelegate.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;ComboBoxDelegate.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QComboBox&amp;gt;&lt;br /&gt;
#include &amp;lt;QWidget&amp;gt;&lt;br /&gt;
#include &amp;lt;QModelIndex&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
#include &amp;lt;QString&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ComboBoxDelegate::ComboBoxDelegate(QObject *parent)&lt;br /&gt;
:QItemDelegate(parent)&lt;br /&gt;
{&lt;br /&gt;
  Items.push_back(&amp;quot;Test0&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test1&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test2&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QWidget *ComboBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &amp;amp;/* option */, const QModelIndex &amp;amp;/* index */) const&lt;br /&gt;
{&lt;br /&gt;
  QComboBox* editor = new QComboBox(parent);&lt;br /&gt;
  for(unsigned int i = 0; i &amp;lt; Items.size(); ++i)&lt;br /&gt;
    {&lt;br /&gt;
    editor-&amp;gt;addItem(Items[i].c_str());&lt;br /&gt;
    }&lt;br /&gt;
  return editor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ComboBoxDelegate::setEditorData(QWidget *editor, const QModelIndex &amp;amp;index) const&lt;br /&gt;
{&lt;br /&gt;
  QComboBox *comboBox = static_cast&amp;lt;QComboBox*&amp;gt;(editor);&lt;br /&gt;
  int value = index.model()-&amp;gt;data(index, Qt::EditRole).toUInt();&lt;br /&gt;
  comboBox-&amp;gt;setCurrentIndex(value);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ComboBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &amp;amp;index) const&lt;br /&gt;
{&lt;br /&gt;
  QComboBox *comboBox = static_cast&amp;lt;QComboBox*&amp;gt;(editor);&lt;br /&gt;
  model-&amp;gt;setData(index, comboBox-&amp;gt;currentIndex(), Qt::EditRole);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ComboBoxDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;/* index */) const&lt;br /&gt;
{&lt;br /&gt;
  editor-&amp;gt;setGeometry(option.rect);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ComboBoxDelegate::paint(QPainter *painter, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;index) const&lt;br /&gt;
{&lt;br /&gt;
  QStyleOptionViewItemV4 myOption = option;&lt;br /&gt;
  QString text = Items[index.row()].c_str();&lt;br /&gt;
&lt;br /&gt;
  myOption.text = text;&lt;br /&gt;
&lt;br /&gt;
  QApplication::style()-&amp;gt;drawControl(QStyle::CE_ItemViewItem, &amp;amp;myOption, painter);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QMainWindow&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ComboBoxDelegate.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class QStringListModel;&lt;br /&gt;
&lt;br /&gt;
class Form : public QMainWindow, private Ui::MainWindow&lt;br /&gt;
{&lt;br /&gt;
  Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
  Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
public slots:&lt;br /&gt;
  void on_btnAdd_clicked();&lt;br /&gt;
  void slot_modelChanged(const QModelIndex  &amp;amp;topLeft, const QModelIndex  &amp;amp;bottomRight);&lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
  QStringListModel* Model;&lt;br /&gt;
  ComboBoxDelegate Delegate;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent)&lt;br /&gt;
    : QMainWindow(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;Model = new QStringListModel;&lt;br /&gt;
  this-&amp;gt;listView-&amp;gt;setModel(this-&amp;gt;Model);&lt;br /&gt;
  connect(this-&amp;gt;Model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(slot_modelChanged(QModelIndex,QModelIndex)));&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;listView-&amp;gt;setItemDelegate(&amp;amp;this-&amp;gt;Delegate);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Form::on_btnAdd_clicked()&lt;br /&gt;
{&lt;br /&gt;
  this-&amp;gt;Model-&amp;gt;insertRows(this-&amp;gt;Model-&amp;gt;rowCount(), 1);&lt;br /&gt;
  this-&amp;gt;Model-&amp;gt;setData(this-&amp;gt;Model-&amp;gt;index(this-&amp;gt;Model-&amp;gt;rowCount()-1), &amp;quot;new line &amp;quot; + QString::number(this-&amp;gt;Model-&amp;gt;rowCount()));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Form::slot_modelChanged(const QModelIndex &amp;amp;topLeft, const QModelIndex  &amp;amp;bottomRight)&lt;br /&gt;
{&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Model changed.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  // Make the combo boxes always displayed.&lt;br /&gt;
  for ( int i = 0; i &amp;lt; this-&amp;gt;Model-&amp;gt;rowCount(); ++i )&lt;br /&gt;
    {&lt;br /&gt;
    this-&amp;gt;listView-&amp;gt;openPersistentEditor( this-&amp;gt;Model-&amp;gt;index(i) );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;MainWindow&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QMainWindow&amp;quot; name=&amp;quot;MainWindow&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;232&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;489&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;MainWindow&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;centralwidget&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;layout class=&amp;quot;QVBoxLayout&amp;quot; name=&amp;quot;verticalLayout&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;widget class=&amp;quot;QListView&amp;quot; name=&amp;quot;listView&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;btnAdd&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;string&amp;gt;Add&amp;lt;/string&amp;gt;&lt;br /&gt;
      &amp;lt;/property&amp;gt;&lt;br /&gt;
     &amp;lt;/widget&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;/layout&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QMenuBar&amp;quot; name=&amp;quot;menubar&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;232&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;20&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
   &amp;lt;widget class=&amp;quot;QMenu&amp;quot; name=&amp;quot;menuFile&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;property name=&amp;quot;title&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;string&amp;gt;File&amp;lt;/string&amp;gt;&lt;br /&gt;
    &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;addaction name=&amp;quot;actionSave&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;addaction name=&amp;quot;menuFile&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QStatusBar&amp;quot; name=&amp;quot;statusBar&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;action name=&amp;quot;actionSave&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;string&amp;gt;Save&amp;lt;/string&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/action&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(ListViewSubclass)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(ListViewSubclass_UI form.ui)&lt;br /&gt;
QT4_WRAP_CPP(ListViewSubclass_MOC form.h ComboBoxDelegate.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(ListViewSubclass main.cpp form.h form.cpp ComboBoxDelegate.cpp ${ListViewSubclass_UI} ${ListViewSubclass_MOC})&lt;br /&gt;
TARGET_LINK_LIBRARIES(ListViewSubclass ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/StaticInheritance</id>
		<title>CPP/StaticInheritance</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/StaticInheritance"/>
				<updated>2011-12-19T19:49:22Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==StaticInheritance.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt;  class Parent { public:   static double GetValue(); };  double Parent::GetValue() {   return 2.0; }  class Child…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==StaticInheritance.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class Parent&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  static double GetValue();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
double Parent::GetValue()&lt;br /&gt;
{&lt;br /&gt;
  return 2.0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class ChildWithReimplement : public Parent&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  static double GetValue();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
double ChildWithReimplement::GetValue()&lt;br /&gt;
{&lt;br /&gt;
  double parentValue = Parent::GetValue();&lt;br /&gt;
  return parentValue + 3.0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Child : public Parent&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[])&lt;br /&gt;
{&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;parent: &amp;quot; &amp;lt;&amp;lt; Parent::GetValue() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  &lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;child: &amp;quot; &amp;lt;&amp;lt; Child::GetValue() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  &lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;ChildWithReimplement: &amp;quot; &amp;lt;&amp;lt; ChildWithReimplement::GetValue() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  &lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(StaticInheritance)&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(StaticInheritance StaticInheritance.cpp)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/ModelView/AbstractListModelFileDialog</id>
		<title>Qt/ModelView/AbstractListModelFileDialog</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/ModelView/AbstractListModelFileDialog"/>
				<updated>2011-12-18T21:39:24Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: /* AbstractListModelFileDialog.cpp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==AbstractListModelFileDialog.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef AbstractListModel_H&lt;br /&gt;
#define AbstractListModel_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QAbstractListModel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QVector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class Item&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  Item(const QString&amp;amp; name = QString()) :  Name(name){}&lt;br /&gt;
  QString Name;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
class AbstractListModel : public QAbstractListModel&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  AbstractListModel();&lt;br /&gt;
&lt;br /&gt;
  QVariant data(const QModelIndex&amp;amp; index, int role) const;&lt;br /&gt;
  &lt;br /&gt;
  bool setData (const QModelIndex &amp;amp;index, const QVariant &amp;amp;value, int role);&lt;br /&gt;
&lt;br /&gt;
  int rowCount(const QModelIndex  &amp;amp;parent=QModelIndex() ) const;&lt;br /&gt;
&lt;br /&gt;
  int setItems(const QVector&amp;lt;Item&amp;gt;&amp;amp; items);&lt;br /&gt;
&lt;br /&gt;
  Qt::ItemFlags flags (const QModelIndex  &amp;amp;index ) const;&lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
  QVector&amp;lt;Item&amp;gt; Items;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==AbstractListModelFileDialog.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;AbstractListModelFileDialog.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int AbstractListModel::setItems(const QVector&amp;lt;Item&amp;gt;&amp;amp; items)&lt;br /&gt;
{&lt;br /&gt;
  emit beginResetModel();&lt;br /&gt;
  this-&amp;gt;Items = items;&lt;br /&gt;
  emit endResetModel();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Qt::ItemFlags AbstractListModel::flags (const QModelIndex  &amp;amp;index ) const&lt;br /&gt;
{&lt;br /&gt;
  if (index.row() &amp;lt; 0 || index.row() &amp;gt;= rowCount() || !index.isValid())&lt;br /&gt;
    {&lt;br /&gt;
    return Qt::NoItemFlags;&lt;br /&gt;
    }&lt;br /&gt;
  return Qt::ItemIsEditable | Qt::ItemIsEnabled;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
AbstractListModel::AbstractListModel() : QAbstractListModel()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int AbstractListModel::rowCount(const QModelIndex&amp;amp; parent) const&lt;br /&gt;
{&lt;br /&gt;
  return this-&amp;gt;Items.size();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QVariant AbstractListModel::data (const QModelIndex  &amp;amp;index , int role ) const&lt;br /&gt;
{&lt;br /&gt;
  if (index.row() &amp;lt; 0 || index.row() &amp;gt;= rowCount() || !index.isValid())&lt;br /&gt;
    {&lt;br /&gt;
    return QVariant();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  if (role == Qt::DisplayRole || role == Qt::EditRole)&lt;br /&gt;
    {&lt;br /&gt;
    return this-&amp;gt;Items.at(index.row()).Name;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  return QVariant();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool AbstractListModel::setData (const QModelIndex &amp;amp;index, const QVariant &amp;amp;value, int role)&lt;br /&gt;
{&lt;br /&gt;
  if (index.row() &amp;lt; 0 || index.row() &amp;gt;= rowCount() || !index.isValid())&lt;br /&gt;
    {&lt;br /&gt;
    return false;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  if (role == Qt::DisplayRole || role == Qt::EditRole)&lt;br /&gt;
    {&lt;br /&gt;
    this-&amp;gt;Items[index.row()].Name = value.toString();&lt;br /&gt;
    }&lt;br /&gt;
  emit dataChanged(index, index);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class AbstractListModel;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, public Ui::Form&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
    Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
  public slots:&lt;br /&gt;
  void editSlot(QModelIndex index);&lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
  AbstractListModel* Model;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QAbstractListModel&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
#include &amp;quot;AbstractListModelFileDialog.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent)&lt;br /&gt;
    : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;Model = new AbstractListModel;&lt;br /&gt;
&lt;br /&gt;
  connect (this-&amp;gt;listView, SIGNAL(clicked(QModelIndex)), this, SLOT(editSlot(QModelIndex)));&lt;br /&gt;
&lt;br /&gt;
  QVector&amp;lt;Item&amp;gt; items;&lt;br /&gt;
  items.push_back(Item(&amp;quot;Test0&amp;quot;));&lt;br /&gt;
  items.push_back(Item(&amp;quot;Test1&amp;quot;));&lt;br /&gt;
  items.push_back(Item(&amp;quot;Test2&amp;quot;));&lt;br /&gt;
  this-&amp;gt;Model-&amp;gt;setItems(items);&lt;br /&gt;
  this-&amp;gt;listView-&amp;gt;setModel(this-&amp;gt;Model);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Form::editSlot(QModelIndex index)&lt;br /&gt;
{&lt;br /&gt;
  if (index.row() == 0)&lt;br /&gt;
    {&lt;br /&gt;
    QString fileName = QFileDialog::getOpenFileName(this, &amp;quot;Open&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;Files (*.*)&amp;quot;);&lt;br /&gt;
    this-&amp;gt;Model-&amp;gt;setData(index, fileName, Qt::EditRole);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;400&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;300&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;layout class=&amp;quot;QGridLayout&amp;quot; name=&amp;quot;gridLayout&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;1&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;btnUpdate&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;string&amp;gt;Update&amp;lt;/string&amp;gt;&lt;br /&gt;
     &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;0&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QListView&amp;quot; name=&amp;quot;listView&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/layout&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(AbstractListModelFileDialog)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(AbstractListModelFileDialog main.cpp AbstractListModelFileDialog.cpp form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(AbstractListModelFileDialog ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/ModelView/AbstractListModelCheckable</id>
		<title>Qt/ModelView/AbstractListModelCheckable</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/ModelView/AbstractListModelCheckable"/>
				<updated>2011-12-18T14:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Fixed - cannot use bool to represent a Qt::CheckState&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==AbstractListModelCheckable.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef AbstractListModelCheckable_H&lt;br /&gt;
#define AbstractListModelCheckable_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QAbstractListModel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QVector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class Item&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  Item(const QString&amp;amp; name = QString(), const Qt::CheckState displayed = Qt::Unchecked) :&lt;br /&gt;
  Name(name), Displayed(displayed){}&lt;br /&gt;
  QString Name;&lt;br /&gt;
  Qt::CheckState Displayed;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
class AbstractListModelCheckable : public QAbstractListModel&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  AbstractListModelCheckable();&lt;br /&gt;
&lt;br /&gt;
  QVariant data(const QModelIndex&amp;amp; index, int role) const;&lt;br /&gt;
  &lt;br /&gt;
  bool setData (const QModelIndex &amp;amp;index, const QVariant &amp;amp;value, int role);&lt;br /&gt;
&lt;br /&gt;
  int rowCount(const QModelIndex  &amp;amp;parent=QModelIndex() ) const;&lt;br /&gt;
&lt;br /&gt;
  int setItems(const QVector&amp;lt;Item&amp;gt;&amp;amp; items);&lt;br /&gt;
&lt;br /&gt;
  Qt::ItemFlags flags (const QModelIndex  &amp;amp;index ) const;&lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
  QVector&amp;lt;Item&amp;gt; Items;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==AbstractListModelCheckable.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;AbstractListModelCheckable.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int AbstractListModelCheckable::setItems(const QVector&amp;lt;Item&amp;gt;&amp;amp; items)&lt;br /&gt;
{&lt;br /&gt;
  emit beginResetModel();&lt;br /&gt;
  this-&amp;gt;Items = items;&lt;br /&gt;
  emit endResetModel();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Qt::ItemFlags AbstractListModelCheckable::flags (const QModelIndex  &amp;amp;index ) const&lt;br /&gt;
{&lt;br /&gt;
  if (index.row() &amp;lt; 0 || index.row() &amp;gt;= rowCount() || !index.isValid())&lt;br /&gt;
    {&lt;br /&gt;
    return Qt::NoItemFlags;&lt;br /&gt;
    }&lt;br /&gt;
  return Qt::ItemIsUserCheckable | Qt::ItemIsEditable | Qt::ItemIsEnabled;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
AbstractListModelCheckable::AbstractListModelCheckable() : QAbstractListModel()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int AbstractListModelCheckable::rowCount(const QModelIndex&amp;amp; parent) const&lt;br /&gt;
{&lt;br /&gt;
  return this-&amp;gt;Items.size();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QVariant AbstractListModelCheckable::data (const QModelIndex  &amp;amp;index , int role ) const&lt;br /&gt;
{&lt;br /&gt;
  if (index.row() &amp;lt; 0 || index.row() &amp;gt;= rowCount() || !index.isValid())&lt;br /&gt;
    {&lt;br /&gt;
    return QVariant();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  if (role == Qt::DisplayRole || role == Qt::EditRole)&lt;br /&gt;
    {&lt;br /&gt;
    return this-&amp;gt;Items.at(index.row()).Name;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  if(role == Qt::CheckStateRole)&lt;br /&gt;
    {&lt;br /&gt;
    return this-&amp;gt;Items[index.row()].Displayed;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  return QVariant();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool AbstractListModelCheckable::setData (const QModelIndex &amp;amp;index, const QVariant &amp;amp;value, int role)&lt;br /&gt;
{&lt;br /&gt;
  if (index.row() &amp;lt; 0 || index.row() &amp;gt;= rowCount() || !index.isValid())&lt;br /&gt;
    {&lt;br /&gt;
    return false;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  if(role == Qt::CheckStateRole)&lt;br /&gt;
    {&lt;br /&gt;
    this-&amp;gt;Items[index.row()].Displayed = static_cast&amp;lt;Qt::CheckState&amp;gt;(value.toUInt());&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  emit dataChanged(index, index);&lt;br /&gt;
  return true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, public Ui::Form&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
    Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
  public slots:&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QAbstractTableModel&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;sstream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
#include &amp;quot;AbstractListModelCheckable.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent)&lt;br /&gt;
    : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
&lt;br /&gt;
  AbstractListModelCheckable* model = new AbstractListModelCheckable;&lt;br /&gt;
&lt;br /&gt;
  QVector&amp;lt;Item&amp;gt; items;&lt;br /&gt;
  items.push_back(Item(&amp;quot;Test0&amp;quot;, Qt::Unchecked));&lt;br /&gt;
  items.push_back(Item(&amp;quot;Test1&amp;quot;, Qt::Checked));&lt;br /&gt;
  items.push_back(Item(&amp;quot;Test2&amp;quot;, Qt::Unchecked));&lt;br /&gt;
  model-&amp;gt;setItems(items);&lt;br /&gt;
  this-&amp;gt;tableView-&amp;gt;setModel(model);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;400&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;300&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;layout class=&amp;quot;QGridLayout&amp;quot; name=&amp;quot;gridLayout&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;0&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QTableView&amp;quot; name=&amp;quot;tableView&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;attribute name=&amp;quot;horizontalHeaderStretchLastSection&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;bool&amp;gt;true&amp;lt;/bool&amp;gt;&lt;br /&gt;
     &amp;lt;/attribute&amp;gt;&lt;br /&gt;
    &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;1&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;btnUpdate&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;string&amp;gt;Update&amp;lt;/string&amp;gt;&lt;br /&gt;
     &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/widget&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/layout&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(AbstractListModelCheckable)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(AbstractListModelCheckable main.cpp AbstractListModelCheckable.cpp form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(AbstractListModelCheckable ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/ModelView/StandardItemModel</id>
		<title>Qt/ModelView/StandardItemModel</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/ModelView/StandardItemModel"/>
				<updated>2011-12-18T14:41:48Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, public Ui::Form&lt;br /&gt;
{&lt;br /&gt;
Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
    Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent)&lt;br /&gt;
    : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
&lt;br /&gt;
  QStandardItemModel* model = new QStandardItemModel;&lt;br /&gt;
&lt;br /&gt;
  QStandardItem item0(&amp;quot;test&amp;quot;);&lt;br /&gt;
  QList&amp;lt;QStandardItem*&amp;gt; items;&lt;br /&gt;
  items.insert(0, &amp;amp;item0);&lt;br /&gt;
  model-&amp;gt;appendRow (items);&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;tableView-&amp;gt;setModel(model);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;400&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;300&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;btnUpdate&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;40&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;230&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;91&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;28&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;string&amp;gt;Update&amp;lt;/string&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QTableView&amp;quot; name=&amp;quot;tableView&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;80&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;10&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;256&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;192&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(StandardItemModel)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(StandardItemModel main.cpp form.h form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(StandardItemModel ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/ModelView/StringListModelCheckable</id>
		<title>Qt/ModelView/StringListModelCheckable</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/ModelView/StringListModelCheckable"/>
				<updated>2011-12-17T23:22:44Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==main.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;QApplication&amp;gt;  #include &amp;quot;form.h&amp;quot;  int main(int argc, char *argv[]) {   QApplication app(argc, argv);   Form form;    form.show();   ret…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, public Ui::Form&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
    Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QStringListModel&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class CheckableStringListModel : public QStringListModel&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
public:&lt;br /&gt;
  void setMyStringList(const QStringList &amp;amp;strings)&lt;br /&gt;
  {&lt;br /&gt;
    emit beginResetModel();&lt;br /&gt;
    CheckedStatus.resize(strings.size());&lt;br /&gt;
    for(unsigned int i = 0; i &amp;lt; CheckedStatus.size(); ++i)&lt;br /&gt;
      {&lt;br /&gt;
      CheckedStatus[i] = Qt::Unchecked;&lt;br /&gt;
      }&lt;br /&gt;
    setStringList(strings);&lt;br /&gt;
    emit endResetModel();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
private:&lt;br /&gt;
  QVector&amp;lt;Qt::CheckState&amp;gt; CheckedStatus;&lt;br /&gt;
  &lt;br /&gt;
  Qt::ItemFlags flags(const QModelIndex&amp;amp; index) const&lt;br /&gt;
  {&lt;br /&gt;
    // If the index is not valid&lt;br /&gt;
    if (index.row() &amp;lt; 0 || index.row() &amp;gt;= rowCount())&lt;br /&gt;
      {&lt;br /&gt;
      return Qt::NoItemFlags;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    return Qt::ItemIsEditable | Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  QVariant data (const QModelIndex  &amp;amp;index , int role ) const&lt;br /&gt;
  {&lt;br /&gt;
    // From QStringListModel &lt;br /&gt;
    if (index.row() &amp;lt; 0 || index.row() &amp;gt;= rowCount())&lt;br /&gt;
      {&lt;br /&gt;
      return QVariant();&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    if (role == Qt::DisplayRole || role == Qt::EditRole)&lt;br /&gt;
      {&lt;br /&gt;
      return stringList().at(index.row());&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    if(role == Qt::CheckStateRole)&lt;br /&gt;
      {&lt;br /&gt;
      return CheckedStatus[index.row()];&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    return QVariant();&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  bool setData (const QModelIndex &amp;amp;index, const QVariant &amp;amp;value, int role)&lt;br /&gt;
  {&lt;br /&gt;
    // From QStringListModel&lt;br /&gt;
    if (index.row() &amp;lt; 0 || index.row() &amp;gt;= rowCount())&lt;br /&gt;
      {&lt;br /&gt;
      return false;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    if(role == Qt::EditRole || role == Qt::DisplayRole)&lt;br /&gt;
      {&lt;br /&gt;
      stringList().replace(index.row(), value.toString());&lt;br /&gt;
      emit dataChanged(index, index);&lt;br /&gt;
      return true;&lt;br /&gt;
      }&lt;br /&gt;
    if(role == Qt::CheckStateRole)&lt;br /&gt;
      {&lt;br /&gt;
      //CheckedStatus[index.row()] = value.value&amp;lt;Qt::CheckState&amp;gt;();&lt;br /&gt;
      CheckedStatus[index.row()] = static_cast&amp;lt;Qt::CheckState&amp;gt;(value.toUInt());&lt;br /&gt;
    &lt;br /&gt;
      emit dataChanged(index, index);&lt;br /&gt;
      }&lt;br /&gt;
    return true;&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent) : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
&lt;br /&gt;
  CheckableStringListModel* model = new CheckableStringListModel;&lt;br /&gt;
&lt;br /&gt;
  QStringList list;&lt;br /&gt;
  list &amp;lt;&amp;lt; &amp;quot;a&amp;quot; &amp;lt;&amp;lt; &amp;quot;b&amp;quot; &amp;lt;&amp;lt; &amp;quot;c&amp;quot;;&lt;br /&gt;
  model-&amp;gt;setMyStringList(list);&lt;br /&gt;
  this-&amp;gt;listView-&amp;gt;setModel(model);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;400&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;300&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;layout class=&amp;quot;QGridLayout&amp;quot; name=&amp;quot;gridLayout&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;item row=&amp;quot;0&amp;quot; column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;widget class=&amp;quot;QListView&amp;quot; name=&amp;quot;listView&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/layout&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(StringListModelCheckable)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(StringListModelCheckable main.cpp form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(StringListModelCheckable ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/Delegates/ComboBoxDelegate</id>
		<title>Qt/Delegates/ComboBoxDelegate</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/Delegates/ComboBoxDelegate"/>
				<updated>2011-12-11T17:20:35Z</updated>
		
		<summary type="html">&lt;p&gt;Nelson Barata: /* main.cpp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
#include &amp;lt;QHeaderView&amp;gt;&lt;br /&gt;
#include &amp;lt;QItemSelectionModel&amp;gt;&lt;br /&gt;
#include &amp;lt;QStandardItemModel&amp;gt;&lt;br /&gt;
#include &amp;lt;QTableView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ComboBoxDelegate.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Enter.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
&lt;br /&gt;
  QStandardItemModel model(4, 2);&lt;br /&gt;
  QTableView tableView;&lt;br /&gt;
  tableView.setModel(&amp;amp;model);&lt;br /&gt;
&lt;br /&gt;
  ComboBoxDelegate* delegate = new ComboBoxDelegate(this);&lt;br /&gt;
  //tableView.setItemDelegate(&amp;amp;delegate);&lt;br /&gt;
  tableView.setItemDelegateForColumn(1, delegate); // Column 0 can take any value, column 1 can only take values up to 8.&lt;br /&gt;
&lt;br /&gt;
  for (int row = 0; row &amp;lt; 4; ++row)&lt;br /&gt;
    {&lt;br /&gt;
    for (int column = 0; column &amp;lt; 2; ++column)&lt;br /&gt;
      {&lt;br /&gt;
      QModelIndex index = model.index(row, column, QModelIndex());&lt;br /&gt;
      int value = (row+1) * (column+1);&lt;br /&gt;
      std::cout &amp;lt;&amp;lt; &amp;quot;Setting (&amp;quot; &amp;lt;&amp;lt; row &amp;lt;&amp;lt; &amp;quot;, &amp;quot; &amp;lt;&amp;lt; column &amp;lt;&amp;lt; &amp;quot;) to &amp;quot; &amp;lt;&amp;lt; value &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
      model.setData(index, QVariant(value));&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  // Make the combo boxes always displayed.&lt;br /&gt;
  for ( int i = 0; i &amp;lt; model.rowCount(); ++i )&lt;br /&gt;
    {&lt;br /&gt;
    tableView.openPersistentEditor( model.index(i, 1) );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  tableView.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ComboBoxDelegate.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef COMBOBOXDELEGATE_H&lt;br /&gt;
#define COMBOBOXDELEGATE_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QItemDelegate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class QModelIndex;&lt;br /&gt;
class QWidget;&lt;br /&gt;
class QVariant;&lt;br /&gt;
&lt;br /&gt;
class ComboBoxDelegate : public QItemDelegate&lt;br /&gt;
{&lt;br /&gt;
Q_OBJECT&lt;br /&gt;
public:&lt;br /&gt;
  ComboBoxDelegate(QObject *parent = 0);&lt;br /&gt;
  &lt;br /&gt;
  QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
  void setEditorData(QWidget *editor, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
  void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
  void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
  void paint(QPainter *painter, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;index) const;&lt;br /&gt;
&lt;br /&gt;
private:&lt;br /&gt;
  std::vector&amp;lt;std::string&amp;gt; Items;&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ComboBoxDelegate.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;ComboBoxDelegate.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QComboBox&amp;gt;&lt;br /&gt;
#include &amp;lt;QWidget&amp;gt;&lt;br /&gt;
#include &amp;lt;QModelIndex&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
#include &amp;lt;QString&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ComboBoxDelegate::ComboBoxDelegate(QObject *parent)&lt;br /&gt;
:QItemDelegate(parent)&lt;br /&gt;
{&lt;br /&gt;
  Items.push_back(&amp;quot;Test0&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test1&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test2&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test3&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test4&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test5&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test6&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test7&amp;quot;);&lt;br /&gt;
  Items.push_back(&amp;quot;Test8&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QWidget *ComboBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &amp;amp;/* option */, const QModelIndex &amp;amp;/* index */) const&lt;br /&gt;
{&lt;br /&gt;
  QComboBox* editor = new QComboBox(parent);&lt;br /&gt;
  for(unsigned int i = 0; i &amp;lt; Items.size(); ++i)&lt;br /&gt;
    {&lt;br /&gt;
    editor-&amp;gt;addItem(Items[i].c_str());&lt;br /&gt;
    }&lt;br /&gt;
  return editor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ComboBoxDelegate::setEditorData(QWidget *editor, const QModelIndex &amp;amp;index) const&lt;br /&gt;
{&lt;br /&gt;
  QComboBox *comboBox = static_cast&amp;lt;QComboBox*&amp;gt;(editor);&lt;br /&gt;
  int value = index.model()-&amp;gt;data(index, Qt::EditRole).toUInt();&lt;br /&gt;
  comboBox-&amp;gt;setCurrentIndex(value);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ComboBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &amp;amp;index) const&lt;br /&gt;
{&lt;br /&gt;
  QComboBox *comboBox = static_cast&amp;lt;QComboBox*&amp;gt;(editor);&lt;br /&gt;
  model-&amp;gt;setData(index, comboBox-&amp;gt;currentIndex(), Qt::EditRole);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ComboBoxDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;/* index */) const&lt;br /&gt;
{&lt;br /&gt;
  editor-&amp;gt;setGeometry(option.rect);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void ComboBoxDelegate::paint(QPainter *painter, const QStyleOptionViewItem &amp;amp;option, const QModelIndex &amp;amp;index) const&lt;br /&gt;
{&lt;br /&gt;
  QStyleOptionViewItemV4 myOption = option;&lt;br /&gt;
  QString text = Items[index.row()].c_str();&lt;br /&gt;
&lt;br /&gt;
  myOption.text = text;&lt;br /&gt;
&lt;br /&gt;
  QApplication::style()-&amp;gt;drawControl(QStyle::CE_ItemViewItem, &amp;amp;myOption, painter);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(ComboBoxDelegate)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs ComboBoxDelegate.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(ComboBoxDelegate main.cpp&lt;br /&gt;
ComboBoxDelegate.cpp&lt;br /&gt;
${MOCSrcs}&lt;br /&gt;
)&lt;br /&gt;
TARGET_LINK_LIBRARIES(ComboBoxDelegate ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/Databases/ListView</id>
		<title>Qt/Databases/ListView</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/Databases/ListView"/>
				<updated>2011-12-11T14:17:24Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: /* form.cpp */ Fixed - must use a pointer or the model goes out of scope&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==ListView.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
#include &amp;lt;QSqlDatabase&amp;gt;&lt;br /&gt;
#include &amp;lt;QSqlError&amp;gt;&lt;br /&gt;
#include &amp;lt;QSqlQuery&amp;gt;&lt;br /&gt;
#include &amp;lt;QVariant&amp;gt;&lt;br /&gt;
#include &amp;lt;QFile&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
&lt;br /&gt;
  QFile::remove (&amp;quot;test.sqlite&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  QSqlDatabase database = QSqlDatabase::addDatabase(&amp;quot;QSQLITE&amp;quot;);&lt;br /&gt;
  database.setDatabaseName(&amp;quot;test.sqlite&amp;quot;);&lt;br /&gt;
  if(!database.open())&lt;br /&gt;
    {&lt;br /&gt;
    std::cerr &amp;lt;&amp;lt; &amp;quot;Could not open database&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    std::cerr &amp;lt;&amp;lt; &amp;quot;Last error: &amp;quot; &amp;lt;&amp;lt; database.lastError().text().toStdString() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  QSqlQuery createQuery;&lt;br /&gt;
  bool createSuccess = createQuery.exec(&amp;quot;create table AssociateTable &amp;quot;&lt;br /&gt;
              &amp;quot;(id integer primary key, &amp;quot;&lt;br /&gt;
              &amp;quot;AssociateName TEXT, &amp;quot;&lt;br /&gt;
              &amp;quot;SocialSecurityNumber TEXT)&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  if(createSuccess)&lt;br /&gt;
    {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Table created successfully!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    }&lt;br /&gt;
  else&lt;br /&gt;
    {&lt;br /&gt;
    std::cerr &amp;lt;&amp;lt; &amp;quot;Could not create table.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    std::cerr &amp;lt;&amp;lt; &amp;quot;Last database error: &amp;quot; &amp;lt;&amp;lt; database.lastError().text().toStdString() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    std::cerr &amp;lt;&amp;lt; &amp;quot;Last query error: &amp;quot; &amp;lt;&amp;lt; createQuery.lastError().text().toStdString() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // Populate the table with default values&lt;br /&gt;
  QSqlQuery insertQuery;&lt;br /&gt;
  insertQuery.prepare(&amp;quot;INSERT INTO AssociateTable (id, AssociateName, SocialSecurityNumber) &amp;quot;&lt;br /&gt;
                &amp;quot;VALUES (:id, :AssociateName, :SocialSecurityNumber)&amp;quot;);&lt;br /&gt;
  insertQuery.bindValue(&amp;quot;:id&amp;quot;, 0);&lt;br /&gt;
  insertQuery.bindValue(&amp;quot;:AssociateName&amp;quot;, &amp;quot;AssociateName&amp;quot;);&lt;br /&gt;
  insertQuery.bindValue(&amp;quot;:SocialSecurityNumber&amp;quot;, &amp;quot;SocialSecurityNumber&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  bool insertSuccess = insertQuery.exec();&lt;br /&gt;
  if(!insertSuccess)&lt;br /&gt;
    {&lt;br /&gt;
    std::cerr &amp;lt;&amp;lt; &amp;quot;Could not insert values!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    std::cerr &amp;lt;&amp;lt; &amp;quot;insertQuery last error: &amp;quot; &amp;lt;&amp;lt; insertQuery.lastError().text().toStdString() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    return -1;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    MyForm form;&lt;br /&gt;
    &lt;br /&gt;
    form.show();&lt;br /&gt;
    return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef ListView_H&lt;br /&gt;
#define ListView_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_ListView.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class MyForm : public QWidget, private Ui::Form&lt;br /&gt;
{&lt;br /&gt;
	Q_OBJECT&lt;br /&gt;
public:&lt;br /&gt;
    MyForm(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
public slots:&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
  void showEvent ( QShowEvent * event );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QSqlDatabase&amp;gt;&lt;br /&gt;
#include &amp;lt;QStringList&amp;gt;&lt;br /&gt;
#include &amp;lt;QSqlQuery&amp;gt;&lt;br /&gt;
#include &amp;lt;QDebug&amp;gt;&lt;br /&gt;
#include &amp;lt;QSqlError&amp;gt;&lt;br /&gt;
#include &amp;lt;QVariant&amp;gt;&lt;br /&gt;
#include &amp;lt;QSqlTableModel&amp;gt;&lt;br /&gt;
#include &amp;lt;QSqlRecord&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MyForm::MyForm(QWidget *parent) : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void MyForm::showEvent ( QShowEvent * event )&lt;br /&gt;
{&lt;br /&gt;
  QSqlQuery selectQuery;&lt;br /&gt;
  selectQuery.prepare(&amp;quot;SELECT AssociateName FROM AssociateTable&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  bool insertSuccess = selectQuery.exec();&lt;br /&gt;
  if(!insertSuccess)&lt;br /&gt;
    {&lt;br /&gt;
    std::cerr &amp;lt;&amp;lt; &amp;quot;Error selecting associates!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    std::cerr &amp;lt;&amp;lt; &amp;quot;Last error: &amp;quot; &amp;lt;&amp;lt; selectQuery.lastError().text().toStdString() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    return;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  QSqlTableModel* tableModel = new QSqlTableModel;&lt;br /&gt;
  tableModel-&amp;gt;setTable(&amp;quot;AssociateTable&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  tableModel-&amp;gt;select();&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;listView-&amp;gt;setModel(tableModel);&lt;br /&gt;
  this-&amp;gt;listView-&amp;gt;setModelColumn(2);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ListView.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;772&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;624&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;pushButton&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;330&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;450&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;91&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;27&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;string&amp;gt;PushButton&amp;lt;/string&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QListView&amp;quot; name=&amp;quot;listView&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;260&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;90&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;256&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;192&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(ListView)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs ListView.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
INCLUDE_DIRECTORIES(${QT_QTSQL_INCLUDE_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(ListView ListView.cpp form.h form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(ListView ${QT_LIBRARIES}  ${QT_QTSQL_LIBRARY_RELEASE})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/ModelView/ComboBoxOfCheckBoxes</id>
		<title>Qt/ModelView/ComboBoxOfCheckBoxes</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/ModelView/ComboBoxOfCheckBoxes"/>
				<updated>2011-12-07T21:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==demo.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;main.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
    QApplication app(argc, argv);&lt;br /&gt;
    MainWindow window;&lt;br /&gt;
    window.show();&lt;br /&gt;
    return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==main.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef MainWindow_H&lt;br /&gt;
#define MainWindow_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QMainWindow&amp;gt;&lt;br /&gt;
#include &amp;lt;QStandardItemModel&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_main.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class MainWindow : public QMainWindow, public Ui::MainWindow&lt;br /&gt;
{&lt;br /&gt;
Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
  MainWindow(QMainWindow *parent = 0);&lt;br /&gt;
&lt;br /&gt;
public slots:&lt;br /&gt;
&lt;br /&gt;
  //void slot_changed();&lt;br /&gt;
  void slot_changed(const QModelIndex&amp;amp;, const QModelIndex&amp;amp;);&lt;br /&gt;
  &lt;br /&gt;
protected:&lt;br /&gt;
  QStandardItemModel* Model;&lt;br /&gt;
  QStandardItem* Item1;&lt;br /&gt;
  QStandardItem* Item2;&lt;br /&gt;
&lt;br /&gt;
  std::vector&amp;lt;QStandardItem*&amp;gt; Items;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;main.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
MainWindow::MainWindow(QMainWindow* parent) : QMainWindow(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
  this-&amp;gt;Model = new QStandardItemModel;&lt;br /&gt;
  this-&amp;gt;Item1 = new QStandardItem;&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;Item1-&amp;gt;setText(&amp;quot;test&amp;quot;);&lt;br /&gt;
  this-&amp;gt;Item1-&amp;gt;setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);&lt;br /&gt;
  this-&amp;gt;Item1-&amp;gt;setData(Qt::Unchecked, Qt::CheckStateRole);&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;Item2 = new QStandardItem;&lt;br /&gt;
  this-&amp;gt;Item2-&amp;gt;setText(&amp;quot;test2&amp;quot;);&lt;br /&gt;
  this-&amp;gt;Item2-&amp;gt;setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);&lt;br /&gt;
  this-&amp;gt;Item2-&amp;gt;setData(Qt::Unchecked, Qt::CheckStateRole);&lt;br /&gt;
&lt;br /&gt;
  connect(this-&amp;gt;Model, SIGNAL(dataChanged ( const QModelIndex&amp;amp;, const QModelIndex&amp;amp;)), this, SLOT(slot_changed(const QModelIndex&amp;amp;, const QModelIndex&amp;amp;)));&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;Model-&amp;gt;insertRow(0, this-&amp;gt;Item1);&lt;br /&gt;
  this-&amp;gt;Model-&amp;gt;insertRow(1, this-&amp;gt;Item2);&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;Items.push_back(this-&amp;gt;Item1);&lt;br /&gt;
  this-&amp;gt;Items.push_back(this-&amp;gt;Item2);&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;comboBox-&amp;gt;setModel(this-&amp;gt;Model);&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; comboBox-&amp;gt;model()-&amp;gt;rowCount() &amp;lt;&amp;lt; &amp;quot; rows after.&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MainWindow::slot_changed(const QModelIndex&amp;amp; topLeft, const QModelIndex&amp;amp; bottomRight)&lt;br /&gt;
{&lt;br /&gt;
  //std::cout &amp;lt;&amp;lt; &amp;quot;topLeft: &amp;quot; &amp;lt;&amp;lt; topLeft.row() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  //std::cout &amp;lt;&amp;lt; &amp;quot;bottomRight: &amp;quot; &amp;lt;&amp;lt; bottomRight.row() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;Item &amp;quot; &amp;lt;&amp;lt; topLeft.row() &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  QStandardItem* item = this-&amp;gt;Items[topLeft.row()];&lt;br /&gt;
  if(item-&amp;gt;checkState() == Qt::Unchecked)&lt;br /&gt;
    {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Unchecked!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    }&lt;br /&gt;
  else if(item-&amp;gt;checkState() == Qt::Checked)&lt;br /&gt;
    {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; &amp;quot;Checked!&amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==main.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;MainWindow&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QMainWindow&amp;quot; name=&amp;quot;MainWindow&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;800&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;600&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;MainWindow&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;centralwidget&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;widget class=&amp;quot;QComboBox&amp;quot; name=&amp;quot;comboBox&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rect&amp;gt;&lt;br /&gt;
      &amp;lt;x&amp;gt;240&amp;lt;/x&amp;gt;&lt;br /&gt;
      &amp;lt;y&amp;gt;150&amp;lt;/y&amp;gt;&lt;br /&gt;
      &amp;lt;width&amp;gt;211&amp;lt;/width&amp;gt;&lt;br /&gt;
      &amp;lt;height&amp;gt;27&amp;lt;/height&amp;gt;&lt;br /&gt;
     &amp;lt;/rect&amp;gt;&lt;br /&gt;
    &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;string&amp;gt;Item1&amp;lt;/string&amp;gt;&lt;br /&gt;
     &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
     &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;string&amp;gt;Item2&amp;lt;/string&amp;gt;&lt;br /&gt;
     &amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
   &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QMenuBar&amp;quot; name=&amp;quot;menubar&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;800&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;25&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QStatusBar&amp;quot; name=&amp;quot;statusbar&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(ComboBoxOfCheckBoxes)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs main.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs main.h)&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(ComboBoxOfCheckBoxes demo.cpp main.h main.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(ComboBoxOfCheckBoxes ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Math/Median</id>
		<title>CPP/Math/Median</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Math/Median"/>
				<updated>2011-12-02T15:52:51Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==Median.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;algorithm&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;cmath&amp;gt; #include &amp;lt;vector&amp;gt;  template&amp;lt;typename T&amp;gt; T VectorMedian(std::vector&amp;lt;T&amp;gt; v) {   int n = …'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Median.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;algorithm&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;cmath&amp;gt;&lt;br /&gt;
#include &amp;lt;vector&amp;gt;&lt;br /&gt;
&lt;br /&gt;
template&amp;lt;typename T&amp;gt;&lt;br /&gt;
T VectorMedian(std::vector&amp;lt;T&amp;gt; v)&lt;br /&gt;
{&lt;br /&gt;
  int n = v.size() / 2;&lt;br /&gt;
  std::nth_element(v.begin(), v.begin()+n, v.end());&lt;br /&gt;
  return v[n];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
//   std::vector&amp;lt;int&amp;gt; v;&lt;br /&gt;
//   v.push_back(1);&lt;br /&gt;
//   v.push_back(3);&lt;br /&gt;
//   v.push_back(2);&lt;br /&gt;
&lt;br /&gt;
//   std::cout &amp;lt;&amp;lt; VectorMedian&amp;lt;int&amp;gt;(v) &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  std::vector&amp;lt;float&amp;gt; v;&lt;br /&gt;
  v.push_back(1.0);&lt;br /&gt;
  v.push_back(3.1);&lt;br /&gt;
  v.push_back(2.2);&lt;br /&gt;
&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; VectorMedian&amp;lt;float&amp;gt;(v) &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(Median)&lt;br /&gt;
ADD_EXECUTABLE(Median Median.cpp )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/Utilities/HandleItem</id>
		<title>Qt/Utilities/HandleItem</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/Utilities/HandleItem"/>
				<updated>2011-11-18T21:00:09Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: /* HandleItem.cpp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==HandleItem.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, private Ui::Form&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public slots:&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
    Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
#include &amp;quot;HandleItem.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent) : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
  &lt;br /&gt;
  QGraphicsScene* scene = new QGraphicsScene( 0, 0, 200, 200 );&lt;br /&gt;
  QGraphicsRectItem *rectItem = new QGraphicsRectItem( QRect( 10, 10, 50, 100 ), 0, scene );&lt;br /&gt;
  &lt;br /&gt;
  // The center handle must know about all of the other handles so it can translate them with the object&lt;br /&gt;
  HandleItem *topHandle = new HandleItem( rectItem, scene, Qt::red, HandleItem::TopHandle );&lt;br /&gt;
  HandleItem *rightHandle = new HandleItem( rectItem, scene, Qt::red, HandleItem::RightHandle );&lt;br /&gt;
  HandleItem *leftHandle = new HandleItem( rectItem, scene, Qt::red, HandleItem::LeftHandle );&lt;br /&gt;
  HandleItem *bottomHandle = new HandleItem( rectItem, scene, Qt::red, HandleItem::BottomHandle );&lt;br /&gt;
  HandleItem *centerHandle = new HandleItem( rectItem, scene, Qt::red, HandleItem::CenterHandle, QList&amp;lt;HandleItem*&amp;gt;() &amp;lt;&amp;lt; topHandle &amp;lt;&amp;lt; rightHandle &amp;lt;&amp;lt; leftHandle &amp;lt;&amp;lt; bottomHandle );&lt;br /&gt;
&lt;br /&gt;
  this-&amp;gt;graphicsView-&amp;gt;setScene( scene );&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==HandleItem.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef HANDLEITEM_H&lt;br /&gt;
#define HANDLEITEM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QGraphicsItem&amp;gt;&lt;br /&gt;
#include &amp;lt;QGraphicsRectItem&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class HandleItem;&lt;br /&gt;
&lt;br /&gt;
class HandleItem : public QGraphicsItem&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
&lt;br /&gt;
  enum HandleRole&lt;br /&gt;
  {&lt;br /&gt;
    CenterHandle,&lt;br /&gt;
    RightHandle,&lt;br /&gt;
    TopHandle,&lt;br /&gt;
    LeftHandle,&lt;br /&gt;
    BottomHandle&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  HandleItem( QGraphicsRectItem *item, QGraphicsScene *scene, QColor color, HandleRole role = CenterHandle, QList&amp;lt;HandleItem*&amp;gt; handles = QList&amp;lt;HandleItem*&amp;gt;() );&lt;br /&gt;
  &lt;br /&gt;
  void paint( QPainter *paint, const QStyleOptionGraphicsItem *option, QWidget *widget );&lt;br /&gt;
  QRectF boundingRect() const;&lt;br /&gt;
&lt;br /&gt;
protected:&lt;br /&gt;
  void mousePressEvent( QGraphicsSceneMouseEvent *event );&lt;br /&gt;
  void mouseReleaseEvent( QGraphicsSceneMouseEvent *event );&lt;br /&gt;
  &lt;br /&gt;
  QVariant itemChange( GraphicsItemChange change, const QVariant &amp;amp;data );&lt;br /&gt;
&lt;br /&gt;
private:&lt;br /&gt;
  QGraphicsRectItem *m_item;&lt;br /&gt;
  &lt;br /&gt;
  HandleRole m_role;&lt;br /&gt;
  QColor m_color;&lt;br /&gt;
  &lt;br /&gt;
  QList&amp;lt;HandleItem*&amp;gt; m_handles;&lt;br /&gt;
&lt;br /&gt;
  bool m_pressed;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif // HANDLEITEM_H&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==HandleItem.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;HandleItem.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;QPainter&amp;gt;&lt;br /&gt;
#include &amp;lt;QPointF&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;cmath&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
HandleItem::HandleItem( QGraphicsRectItem *item, QGraphicsScene *scene, QColor color, HandleItem::HandleRole role, QList&amp;lt;HandleItem*&amp;gt; handles ) : QGraphicsItem( 0, scene )&lt;br /&gt;
{&lt;br /&gt;
  m_role = role;&lt;br /&gt;
  m_color = color;&lt;br /&gt;
  &lt;br /&gt;
  m_item = item;&lt;br /&gt;
  m_handles = handles;&lt;br /&gt;
  &lt;br /&gt;
  m_pressed = false;&lt;br /&gt;
  setZValue( 100 );&lt;br /&gt;
&lt;br /&gt;
  setFlag( ItemIsMovable );&lt;br /&gt;
  setFlag(ItemSendsGeometryChanges);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void HandleItem::paint( QPainter *paint, const QStyleOptionGraphicsItem *option, QWidget *widget )&lt;br /&gt;
{&lt;br /&gt;
  paint-&amp;gt;setPen( m_color );&lt;br /&gt;
  paint-&amp;gt;setBrush( m_color );&lt;br /&gt;
    &lt;br /&gt;
  QRectF rect = boundingRect();&lt;br /&gt;
  QVector&amp;lt;QPointF&amp;gt; points;&lt;br /&gt;
    &lt;br /&gt;
  switch( m_role )&lt;br /&gt;
  {&lt;br /&gt;
  case RightHandle:&lt;br /&gt;
    points &amp;lt;&amp;lt; rect.center()+QPointF(3,0) &amp;lt;&amp;lt; rect.center()+QPointF(-3,-5) &amp;lt;&amp;lt; rect.center()+QPointF(-3,5);&lt;br /&gt;
    paint-&amp;gt;drawConvexPolygon( QPolygonF(points) );&lt;br /&gt;
    break;&lt;br /&gt;
  case LeftHandle:&lt;br /&gt;
    points &amp;lt;&amp;lt; rect.center()+QPointF(-3,0) &amp;lt;&amp;lt; rect.center()+QPointF(3,-5) &amp;lt;&amp;lt; rect.center()+QPointF(3,5);&lt;br /&gt;
    paint-&amp;gt;drawConvexPolygon( QPolygonF(points) );&lt;br /&gt;
    break;&lt;br /&gt;
  case TopHandle:&lt;br /&gt;
    points &amp;lt;&amp;lt; rect.center()+QPointF(0,-3) &amp;lt;&amp;lt; rect.center()+QPointF(-5,3) &amp;lt;&amp;lt; rect.center()+QPointF(5,3);&lt;br /&gt;
    paint-&amp;gt;drawConvexPolygon( QPolygonF(points) );&lt;br /&gt;
    break;&lt;br /&gt;
  case BottomHandle:&lt;br /&gt;
    points &amp;lt;&amp;lt; rect.center()+QPointF(0,3) &amp;lt;&amp;lt; rect.center()+QPointF(-5,-3) &amp;lt;&amp;lt; rect.center()+QPointF(5,-3);&lt;br /&gt;
    paint-&amp;gt;drawConvexPolygon( QPolygonF(points) );&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QRectF HandleItem::boundingRect() const&lt;br /&gt;
{&lt;br /&gt;
  switch( m_role )&lt;br /&gt;
  {&lt;br /&gt;
  case LeftHandle:&lt;br /&gt;
    {&lt;br /&gt;
    QPointF point(m_item-&amp;gt;boundingRect().left() - pos().x(), m_item-&amp;gt;boundingRect().top() + m_item-&amp;gt;boundingRect().height()/2);&lt;br /&gt;
    return QRectF( point-QPointF(3, 5), QSize( 6, 10 ) );&lt;br /&gt;
    }&lt;br /&gt;
  case RightHandle:&lt;br /&gt;
    {&lt;br /&gt;
    QPointF point(m_item-&amp;gt;boundingRect().right() - pos().x(), m_item-&amp;gt;boundingRect().top() + m_item-&amp;gt;boundingRect().height()/2);&lt;br /&gt;
    return QRectF( point-QPointF(3, 5), QSize( 6, 10 ) );&lt;br /&gt;
    }&lt;br /&gt;
  case TopHandle:&lt;br /&gt;
    {&lt;br /&gt;
    QPointF point(m_item-&amp;gt;boundingRect().left() + m_item-&amp;gt;boundingRect().width()/2, m_item-&amp;gt;boundingRect().top() - pos().y());&lt;br /&gt;
    return QRectF( point-QPointF(5, 3), QSize( 10, 6 ) );&lt;br /&gt;
    }&lt;br /&gt;
  case BottomHandle:&lt;br /&gt;
    {&lt;br /&gt;
    QPointF point(m_item-&amp;gt;boundingRect().left() + m_item-&amp;gt;boundingRect().width()/2, m_item-&amp;gt;boundingRect().bottom() - pos().y());&lt;br /&gt;
    return QRectF( point-QPointF(5, 3), QSize( 10, 6 ) );&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  return QRectF();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
QVariant HandleItem::itemChange( GraphicsItemChange change, const QVariant &amp;amp;data )&lt;br /&gt;
{&lt;br /&gt;
  if( change == ItemPositionChange &amp;amp;&amp;amp; m_pressed )&lt;br /&gt;
  {&lt;br /&gt;
&lt;br /&gt;
    QPointF movement;&lt;br /&gt;
    QPointF newData = data.toPointF();&lt;br /&gt;
    QRectF newRect = m_item-&amp;gt;rect();&lt;br /&gt;
    &lt;br /&gt;
    switch( m_role )&lt;br /&gt;
    {&lt;br /&gt;
    case LeftHandle:&lt;br /&gt;
      {&lt;br /&gt;
      // Prevent the rectangle from collapsing.&lt;br /&gt;
      //if( fabs(movement.x()) &amp;lt;= 5 )&lt;br /&gt;
      if(m_item-&amp;gt;rect().width() &amp;lt; 5)&lt;br /&gt;
        {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; &amp;quot;too small! &amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        return QGraphicsItem::itemChange( change, newData );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
      // Snap the movement to the X direction&lt;br /&gt;
      newData.setY(0);&lt;br /&gt;
&lt;br /&gt;
      movement = newData - pos();&lt;br /&gt;
      // Resize the rectangle&lt;br /&gt;
      newRect.setLeft(m_item-&amp;gt;rect().left() + movement.x());&lt;br /&gt;
&lt;br /&gt;
      m_item-&amp;gt;setRect(newRect);&lt;br /&gt;
&lt;br /&gt;
      break;&lt;br /&gt;
      }&lt;br /&gt;
    case RightHandle:&lt;br /&gt;
      {&lt;br /&gt;
      // Prevent the rectangle from collapsing.&lt;br /&gt;
      //if( fabs(movement.x()) &amp;lt;= 5 )&lt;br /&gt;
      //if(m_item-&amp;gt;rect().width() &amp;lt; 5)&lt;br /&gt;
      if(m_item-&amp;gt;rect().width() + movement.x() &amp;lt; 5)&lt;br /&gt;
	{&lt;br /&gt;
	std::cout &amp;lt;&amp;lt; &amp;quot;too small! &amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
	return QGraphicsItem::itemChange( change, newData );&lt;br /&gt;
	}&lt;br /&gt;
    &lt;br /&gt;
      // Snap the movement to the X direction&lt;br /&gt;
      newData.setY(0);&lt;br /&gt;
&lt;br /&gt;
      movement = newData - pos();&lt;br /&gt;
      // Resize the rectangle&lt;br /&gt;
      newRect.setRight(m_item-&amp;gt;rect().right() + movement.x());&lt;br /&gt;
&lt;br /&gt;
      m_item-&amp;gt;setRect(newRect);&lt;br /&gt;
&lt;br /&gt;
      break;&lt;br /&gt;
      }&lt;br /&gt;
    case TopHandle:&lt;br /&gt;
      {&lt;br /&gt;
      // Prevent the rectangle from collapsing.&lt;br /&gt;
      //if( fabs(movement.x()) &amp;lt;= 5 )&lt;br /&gt;
      if(m_item-&amp;gt;rect().height() &amp;lt; 5)&lt;br /&gt;
        {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; &amp;quot;too small! &amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        return QGraphicsItem::itemChange( change, newData );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
      // Snap the movement to the Y direction&lt;br /&gt;
      newData.setX(0);&lt;br /&gt;
&lt;br /&gt;
      movement = newData - pos();&lt;br /&gt;
      // Resize the rectangle&lt;br /&gt;
      newRect.setTop(m_item-&amp;gt;rect().top() + movement.y());&lt;br /&gt;
&lt;br /&gt;
      m_item-&amp;gt;setRect(newRect);&lt;br /&gt;
&lt;br /&gt;
      break;&lt;br /&gt;
      }&lt;br /&gt;
    case BottomHandle:&lt;br /&gt;
      {&lt;br /&gt;
      // Prevent the rectangle from collapsing.&lt;br /&gt;
      //if( fabs(movement.x()) &amp;lt;= 5 )&lt;br /&gt;
      if(m_item-&amp;gt;rect().height() &amp;lt; 5)&lt;br /&gt;
        {&lt;br /&gt;
        std::cout &amp;lt;&amp;lt; &amp;quot;too small! &amp;quot; &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
        return QGraphicsItem::itemChange( change, newData );&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
      // Snap the movement to the Y direction&lt;br /&gt;
      newData.setX(0);&lt;br /&gt;
&lt;br /&gt;
      movement = newData - pos();&lt;br /&gt;
      // Resize the rectangle&lt;br /&gt;
      newRect.setBottom(m_item-&amp;gt;rect().bottom() + movement.y());&lt;br /&gt;
&lt;br /&gt;
      m_item-&amp;gt;setRect(newRect);&lt;br /&gt;
&lt;br /&gt;
      break;&lt;br /&gt;
      }&lt;br /&gt;
    } // end switch&lt;br /&gt;
&lt;br /&gt;
    return QGraphicsItem::itemChange( change, newData);&lt;br /&gt;
  } // end if pressed&lt;br /&gt;
  &lt;br /&gt;
  return QGraphicsItem::itemChange( change, data );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void HandleItem::mousePressEvent( QGraphicsSceneMouseEvent *event )&lt;br /&gt;
{&lt;br /&gt;
  m_pressed = true;  &lt;br /&gt;
  QGraphicsItem::mousePressEvent( event );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void HandleItem::mouseReleaseEvent( QGraphicsSceneMouseEvent *event )&lt;br /&gt;
{&lt;br /&gt;
  m_pressed = false;&lt;br /&gt;
  QGraphicsItem::mouseReleaseEvent( event );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;400&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;300&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QGraphicsView&amp;quot; name=&amp;quot;graphicsView&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;80&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;50&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;256&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;192&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(HandleItem)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(HandleItem main.cpp HandleItem.cpp form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(HandleItem ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/QWT/Plot</id>
		<title>Qt/QWT/Plot</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/QWT/Plot"/>
				<updated>2011-11-17T19:01:41Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  MyForm form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef BUTTONFORM_H&lt;br /&gt;
#define BUTTONFORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class MyForm : public QWidget, private Ui::Form&lt;br /&gt;
{&lt;br /&gt;
  Q_OBJECT&lt;br /&gt;
  &lt;br /&gt;
public:&lt;br /&gt;
  MyForm(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
public slots:&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;qwt_plot.h&amp;gt;&lt;br /&gt;
#include &amp;lt;qwt_plot_curve.h&amp;gt;&lt;br /&gt;
#include &amp;lt;qwt_series_data.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MyForm::MyForm(QWidget *parent) : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
&lt;br /&gt;
  QwtPlot *myPlot = new QwtPlot(this);&lt;br /&gt;
  &lt;br /&gt;
  QwtPlotCurve *curve1 = new QwtPlotCurve(&amp;quot;Curve 1&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  QwtPointSeriesData* myData = new QwtPointSeriesData;&lt;br /&gt;
&lt;br /&gt;
  QVector&amp;lt;QPointF&amp;gt;* samples = new QVector&amp;lt;QPointF&amp;gt;;&lt;br /&gt;
  samples-&amp;gt;push_back(QPointF(1.0,1.0));&lt;br /&gt;
  samples-&amp;gt;push_back(QPointF(2.0,2.0));&lt;br /&gt;
  samples-&amp;gt;push_back(QPointF(3.0,3.0));&lt;br /&gt;
  samples-&amp;gt;push_back(QPointF(4.0,5.0));&lt;br /&gt;
  myData-&amp;gt;setSamples(*samples);&lt;br /&gt;
  curve1-&amp;gt;setData(myData);&lt;br /&gt;
  &lt;br /&gt;
  curve1-&amp;gt;attach(myPlot);&lt;br /&gt;
  &lt;br /&gt;
  myPlot-&amp;gt;replot();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;400&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;300&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;My Program&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(QWT)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} /home/doriad/src/qwt-6.0/src)&lt;br /&gt;
link_directories(/home/doriad/src/qwt-6.0/lib)&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(QWT main.cpp form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(QWT ${QT_LIBRARIES} qwt)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/LexicalCast</id>
		<title>CPP/Boost/LexicalCast</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/LexicalCast"/>
				<updated>2011-11-17T14:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==LexicalCast.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;iostream&amp;gt;  #include &amp;lt;boost/lexical_cast.hpp&amp;gt;  int main(int argc, char* argv[]) {   std::string stringNumber = &amp;quot;2.0&amp;quot;;   float flo…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==LexicalCast.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;boost/lexical_cast.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char* argv[])&lt;br /&gt;
{&lt;br /&gt;
  std::string stringNumber = &amp;quot;2.0&amp;quot;;&lt;br /&gt;
  float floatNumber = boost::lexical_cast&amp;lt;float&amp;gt;(stringNumber);&lt;br /&gt;
  &lt;br /&gt;
  std::cout &amp;lt;&amp;lt; floatNumber &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(LexicalCast)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Boost)&lt;br /&gt;
&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(LexicalCast LexicalCast.cpp)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/Images/RubberBandSignal</id>
		<title>Qt/Images/RubberBandSignal</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/Images/RubberBandSignal"/>
				<updated>2011-11-16T17:24:17Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==main.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;QApplication&amp;gt;  #include &amp;quot;form.h&amp;quot;  int main(int argc, char *argv[]) {   QApplication app(argc, argv);   Form form;    form.show();   ret…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, private Ui::Form&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
public slots:&lt;br /&gt;
  &lt;br /&gt;
public:&lt;br /&gt;
    Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
#include &amp;lt;QImage&amp;gt;&lt;br /&gt;
#include &amp;lt;QRubberBand&amp;gt;&lt;br /&gt;
#include &amp;lt;QGraphicsView&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
class MyGraphicsView : public QGraphicsView&lt;br /&gt;
{&lt;br /&gt;
public:&lt;br /&gt;
  &lt;br /&gt;
  MyGraphicsView( QWidget * parent = 0 ) : QGraphicsView(parent){}&lt;br /&gt;
  &lt;br /&gt;
  void mouseReleaseEvent(QMouseEvent *event);&lt;br /&gt;
  void mouseMoveEvent(QMouseEvent *event);&lt;br /&gt;
  void mousePressEvent(QMouseEvent *event);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void MyGraphicsView::mousePressEvent(QMouseEvent *event)&lt;br /&gt;
{&lt;br /&gt;
  QGraphicsView::mousePressEvent(event);&lt;br /&gt;
  QPoint point = event-&amp;gt;pos();&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;mousePressEvent: &amp;quot; &amp;lt;&amp;lt; point.x() &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; point.y() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MyGraphicsView::mouseMoveEvent(QMouseEvent *event)&lt;br /&gt;
{&lt;br /&gt;
  QGraphicsView::mouseMoveEvent(event);&lt;br /&gt;
  QPoint point = event-&amp;gt;pos();&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;mouseMoveEvent: &amp;quot; &amp;lt;&amp;lt; point.x() &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; point.y() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MyGraphicsView::mouseReleaseEvent(QMouseEvent *event)&lt;br /&gt;
{&lt;br /&gt;
  QGraphicsView::mouseReleaseEvent(event);&lt;br /&gt;
  QPoint point = event-&amp;gt;pos();&lt;br /&gt;
  std::cout &amp;lt;&amp;lt; &amp;quot;mouseReleaseEvent: &amp;quot; &amp;lt;&amp;lt; point.x() &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; point.y() &amp;lt;&amp;lt; std::endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent)&lt;br /&gt;
    : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
  &lt;br /&gt;
  MyGraphicsView* graphicsView = new MyGraphicsView(this );&lt;br /&gt;
  graphicsView-&amp;gt;show();&lt;br /&gt;
  &lt;br /&gt;
  QGraphicsScene* scene = new QGraphicsScene();&lt;br /&gt;
  graphicsView-&amp;gt;setScene(scene);&lt;br /&gt;
  graphicsView-&amp;gt;setDragMode(QGraphicsView::RubberBandDrag);&lt;br /&gt;
  graphicsView-&amp;gt;show();&lt;br /&gt;
  &lt;br /&gt;
  QPixmap pixmap(100,100);&lt;br /&gt;
  pixmap.fill(QColor(255,0,0));&lt;br /&gt;
  &lt;br /&gt;
  QGraphicsPixmapItem* item = scene-&amp;gt;addPixmap(pixmap);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;812&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;565&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(RubberbandSignal)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(RubberbandSignal main.cpp form.h form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(RubberbandSignal ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/CPP/Boost/BGL/Undirected/IterateEdges</id>
		<title>CPP/Boost/BGL/Undirected/IterateEdges</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/CPP/Boost/BGL/Undirected/IterateEdges"/>
				<updated>2011-11-15T23:03:16Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: use graph_traits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==IterateEdges.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/graph_traits.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;boost/graph/undirected_graph.hpp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
typedef boost::property&amp;lt;boost::edge_weight_t, float&amp;gt; EdgeWeightProperty;&lt;br /&gt;
&lt;br /&gt;
typedef boost::undirected_graph&amp;lt;boost::no_property, EdgeWeightProperty&amp;gt; Graph;&lt;br /&gt;
&lt;br /&gt;
int main(int,char*[])&lt;br /&gt;
{&lt;br /&gt;
  // Create a graph object&lt;br /&gt;
  Graph g;&lt;br /&gt;
  &lt;br /&gt;
  // Add vertices&lt;br /&gt;
  boost::graph_traits&amp;lt;Graph&amp;gt;::vertex_descriptor v0 = g.add_vertex();&lt;br /&gt;
  boost::graph_traits&amp;lt;Graph&amp;gt;::vertex_descriptor v1 = g.add_vertex();&lt;br /&gt;
  boost::graph_traits&amp;lt;Graph&amp;gt;::vertex_descriptor v2 = g.add_vertex();&lt;br /&gt;
&lt;br /&gt;
  // Add weighted edges&lt;br /&gt;
  EdgeWeightProperty weight0 = 5;&lt;br /&gt;
  g.add_edge(v0, v1, weight0);&lt;br /&gt;
&lt;br /&gt;
  EdgeWeightProperty weight1 = 3;&lt;br /&gt;
  g.add_edge(v1, v2, weight1);&lt;br /&gt;
&lt;br /&gt;
  boost::property_map&amp;lt;Graph, boost::edge_weight_t&amp;gt;::type EdgeWeightMap = get(boost::edge_weight_t(), g);&lt;br /&gt;
&lt;br /&gt;
  typedef boost::graph_traits&amp;lt;Graph&amp;gt;::edge_iterator edge_iter;&lt;br /&gt;
  std::pair&amp;lt;edge_iter, edge_iter&amp;gt; edgePair;&lt;br /&gt;
  for(edgePair = edges(g); edgePair.first != edgePair.second; ++edgePair.first)&lt;br /&gt;
  {&lt;br /&gt;
    std::cout &amp;lt;&amp;lt; EdgeWeightMap[*edgePair.first] &amp;lt;&amp;lt; &amp;quot; &amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
Project(UndirectedIterateEdges)&lt;br /&gt;
&lt;br /&gt;
set(Boost_USE_MULTITHREADED ON)&lt;br /&gt;
FIND_PACKAGE(Boost 1.38 COMPONENTS required)&lt;br /&gt;
&lt;br /&gt;
INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})&lt;br /&gt;
LINK_DIRECTORIES(${LINK_DIRECTORIES} ${Boost_LIBRARY_DIRS})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(UndirectedIterateEdges UndirectedIterateEdges.cpp)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Boost/BGL</id>
		<title>Boost/BGL</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Boost/BGL"/>
				<updated>2011-11-15T21:12:36Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Basics ===&lt;br /&gt;
* [[CPP/Boost/CreateGraph|Create a graph]] - This is the most fundamental process of using BGL - creating a graph. This example explains 3 methods of creating a graph, using adjacency_list directly, and also using the directed_graph and undirected_graph subclasses.&lt;br /&gt;
* [[CPP/Boost/BGL/EdgeExists|Check if an edge exists]] - If it does, you also get the edge_descriptor&lt;br /&gt;
* [[CPP/Boost/BGL/CopyAGraph|Copy a graph]]&lt;br /&gt;
* [[CPP/Boost/BGL/Directed/Weighted|Access an edge]]&lt;br /&gt;
* [[CPP/Boost/RemoveVertex|Remove a vertex from a graph]]&lt;br /&gt;
* [[CPP/Boost/RemoveEdge|Remove an edge from a graph]]&lt;br /&gt;
* [[CPP/Boost/BGL/EdgeProperties|Add properties to edges]]&lt;br /&gt;
* [[CPP/Boost/BGL/VertexProperties|Add properties to vertices]]&lt;br /&gt;
* [[CPP/Boost/BGL/BundledProperties|Bundled properties]]&lt;br /&gt;
* [[CPP/Boost/BGL/AdjacentVertices|Get a list of neighboring (adjacent) vertices]]&lt;br /&gt;
* [[CPP/Boost/BGL/DirectedGraph|Directed graphs only give access to out edges]]&lt;br /&gt;
* [[CPP/Boost/BGL/BidirectionalGraph|Bidirectional graphs give access to both in and out edges]]&lt;br /&gt;
* [[CPP/Boost/BGL/NumberOfNeighbors|Number of incoming, outgoing, and total edges]]&lt;br /&gt;
* [[CPP/Boost/BGL/BreadthFirstSearch|Breadth first search (BFS with a custom visitor)]]&lt;br /&gt;
* [[CPP/Boost/BGL/MakeBFSVisitor|Breadth first search with make_bfs_visitor]]&lt;br /&gt;
* [[CPP/Boost/BGL/DepthFirstSearch|Depth first search (DFS)]]&lt;br /&gt;
&lt;br /&gt;
=== Filtered graphs ===&lt;br /&gt;
* [[CPP/Boost/BGL/FilteredGraphVertices|Filter a graph's vertices]]&lt;br /&gt;
* [[CPP/Boost/BGL/FilteredGraphEdges|Filter a graph's edges]]&lt;br /&gt;
&lt;br /&gt;
=== Directed graphs ===&lt;br /&gt;
* [[CPP/Boost/BGL/Directed/IterateEdges|Iterate over all edges in a directed graph]]&lt;br /&gt;
&lt;br /&gt;
=== Undirected graphs ===&lt;br /&gt;
* [[CPP/Boost/BGL/Undirected/IterateEdges|Iterate over all edges in an undirected graph]]&lt;br /&gt;
&lt;br /&gt;
=== I/O ===&lt;br /&gt;
* [[Boost/BGL/IO/ReadGraph|Read a graph from a file]]&lt;br /&gt;
* [[Boost/BGL/IO/WriteGraph|Write a graph to a file]]&lt;br /&gt;
* [[Boost/BGL/RelabelInputVertices|Relabel input vertices read from a dot file so they match the labels used in the file]]&lt;br /&gt;
&lt;br /&gt;
=== Algorithms ===&lt;br /&gt;
&lt;br /&gt;
* [[CPP/Boost/BGL/DijkstraDirected|Find the shortest path (Dijkstra) from a specified vertex to all other vertices in a directed graph]]&lt;br /&gt;
* [[CPP/Boost/BGL/DijkstraUndirected|Find the shortest path (Dijkstra) from a specified vertex to all other vertices in an undirected graph]]&lt;br /&gt;
* [[CPP/Boost/BGL/DijkstraComputePath|Find the shortest path (Dijkstra) from one specified vertex to another specified vertex in a graph]]&lt;br /&gt;
* [[CPP/Boost/BGL/BetweennessCentralityClustering|Cluster a graph using betweenness centrality]]&lt;br /&gt;
* [[CPP/Boost/BGL/MaxFlow|Find the max flow of a graph]]&lt;br /&gt;
* [[CPP/Boost/BGL/PrimMST|Find the minimum spanning tree of a graph (Prim's algorithm)]]&lt;br /&gt;
&lt;br /&gt;
=== Visualization ===&lt;br /&gt;
&lt;br /&gt;
* [[CPP/Boost/BGL/InvisibleEdges|Create a graph with invisible edges]]&lt;br /&gt;
&lt;br /&gt;
=== Grid graphs ===&lt;br /&gt;
&lt;br /&gt;
* [[CPP/Boost/BGL/GridGraphProperties|Create properties on a grid graph]]&lt;br /&gt;
* [[CPP/Boost/BGL/d_ary_heap_indirect|Priority queue that sorts by a property (d_ary_heap_indirect)]]&lt;br /&gt;
* [[CPP/Boost/BGL/GridGraphVertexIterator|Grid graph vertex iterator]]&lt;br /&gt;
&lt;br /&gt;
=== Utilities ===&lt;br /&gt;
&lt;br /&gt;
* [[CPP/Boost/BGL/IndirectPriorityQueue|Priority queue that sorts by a property (d_ary_heap_indirect)]]&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	<entry>
		<id>http://www.programmingexamples.net/wiki/Qt/Images/RubberBand</id>
		<title>Qt/Images/RubberBand</title>
		<link rel="alternate" type="text/html" href="http://www.programmingexamples.net/wiki/Qt/Images/RubberBand"/>
				<updated>2011-11-15T16:56:03Z</updated>
		
		<summary type="html">&lt;p&gt;Daviddoria: Created page with '==main.cpp== &amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt; #include &amp;lt;QApplication&amp;gt;  #include &amp;quot;form.h&amp;quot;  int main(int argc, char *argv[]) {   QApplication app(argc, argv);   Form form;    form.show();   ret…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==main.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QApplication&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  QApplication app(argc, argv);&lt;br /&gt;
  Form form;&lt;br /&gt;
&lt;br /&gt;
  form.show();&lt;br /&gt;
  return app.exec();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.h==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#ifndef FORM_H&lt;br /&gt;
#define FORM_H&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;ui_form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
class Form : public QWidget, private Ui::Form&lt;br /&gt;
{&lt;br /&gt;
    Q_OBJECT&lt;br /&gt;
&lt;br /&gt;
public:&lt;br /&gt;
    Form(QWidget *parent = 0);&lt;br /&gt;
&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.cpp==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;QtGui&amp;gt;&lt;br /&gt;
#include &amp;lt;QImage&amp;gt;&lt;br /&gt;
#include &amp;lt;QRubberBand&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;form.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Form::Form(QWidget *parent)&lt;br /&gt;
    : QWidget(parent)&lt;br /&gt;
{&lt;br /&gt;
  setupUi(this);&lt;br /&gt;
  &lt;br /&gt;
  QGraphicsScene* scene = new QGraphicsScene();&lt;br /&gt;
  //QRubberBand* rubberBand = new QRubberBand(QRubberBand::Rectangle, scene);&lt;br /&gt;
  //QRubberBand* rubberBand = new QRubberBand(QRubberBand::Rectangle);&lt;br /&gt;
  QRubberBand* rubberBand = new QRubberBand(QRubberBand::Rectangle, this-&amp;gt;graphicsView);&lt;br /&gt;
  &lt;br /&gt;
  QPalette palette;&lt;br /&gt;
  palette.setBrush(QPalette::Foreground, QBrush(Qt::green));&lt;br /&gt;
  palette.setBrush(QPalette::Base, QBrush(Qt::red));&lt;br /&gt;
&lt;br /&gt;
  rubberBand-&amp;gt;setPalette(palette);&lt;br /&gt;
  rubberBand-&amp;gt;resize(30, 30);&lt;br /&gt;
  &lt;br /&gt;
  //scene-&amp;gt;addItem(rubberBand);&lt;br /&gt;
  &lt;br /&gt;
  this-&amp;gt;graphicsView-&amp;gt;setScene(scene);&lt;br /&gt;
  //this-&amp;gt;graphicsView-&amp;gt;setDragMode(QGraphicsView::RubberBandDrag);&lt;br /&gt;
  this-&amp;gt;graphicsView-&amp;gt;show();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==form.ui==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ui version=&amp;quot;4.0&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;class&amp;gt;Form&amp;lt;/class&amp;gt;&lt;br /&gt;
 &amp;lt;widget class=&amp;quot;QWidget&amp;quot; name=&amp;quot;Form&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;rect&amp;gt;&lt;br /&gt;
    &amp;lt;x&amp;gt;0&amp;lt;/x&amp;gt;&lt;br /&gt;
    &amp;lt;y&amp;gt;0&amp;lt;/y&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;812&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;565&amp;lt;/height&amp;gt;&lt;br /&gt;
   &amp;lt;/rect&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;property name=&amp;quot;windowTitle&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;string&amp;gt;Form&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QPushButton&amp;quot; name=&amp;quot;btnOpen&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;20&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;10&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;121&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;41&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;string&amp;gt;Open Image&amp;lt;/string&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
  &amp;lt;widget class=&amp;quot;QGraphicsView&amp;quot; name=&amp;quot;graphicsView&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;geometry&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect&amp;gt;&lt;br /&gt;
     &amp;lt;x&amp;gt;80&amp;lt;/x&amp;gt;&lt;br /&gt;
     &amp;lt;y&amp;gt;80&amp;lt;/y&amp;gt;&lt;br /&gt;
     &amp;lt;width&amp;gt;521&amp;lt;/width&amp;gt;&lt;br /&gt;
     &amp;lt;height&amp;gt;361&amp;lt;/height&amp;gt;&lt;br /&gt;
    &amp;lt;/rect&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;verticalScrollBarPolicy&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;enum&amp;gt;Qt::ScrollBarAlwaysOff&amp;lt;/enum&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
   &amp;lt;property name=&amp;quot;horizontalScrollBarPolicy&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;enum&amp;gt;Qt::ScrollBarAlwaysOff&amp;lt;/enum&amp;gt;&lt;br /&gt;
   &amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;/widget&amp;gt;&lt;br /&gt;
 &amp;lt;resources/&amp;gt;&lt;br /&gt;
 &amp;lt;connections/&amp;gt;&lt;br /&gt;
&amp;lt;/ui&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CMakeLists.txt==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cmake&amp;quot;&amp;gt;&lt;br /&gt;
cmake_minimum_required(VERSION 2.6)&lt;br /&gt;
&lt;br /&gt;
PROJECT(Rubberband)&lt;br /&gt;
&lt;br /&gt;
FIND_PACKAGE(Qt4 REQUIRED)&lt;br /&gt;
INCLUDE(${QT_USE_FILE})&lt;br /&gt;
&lt;br /&gt;
QT4_WRAP_UI(UISrcs form.ui)&lt;br /&gt;
QT4_WRAP_CPP(MOCSrcs form.h)&lt;br /&gt;
&lt;br /&gt;
include_directories(${include_directories} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})&lt;br /&gt;
&lt;br /&gt;
ADD_EXECUTABLE(Rubberband main.cpp form.h form.cpp ${MOCSrcs} ${UISrcs})&lt;br /&gt;
TARGET_LINK_LIBRARIES(Rubberband ${QT_LIBRARIES})&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daviddoria</name></author>	</entry>

	</feed>