Back to index

unity  6.0.0
Result.h
Go to the documentation of this file.
00001 // -*- Mode: C++; indent-tabs-mode: nil; tab-width: 2 -*-
00002 /*
00003  * Copyright (C) 2011 Canonical Ltd
00004  *
00005  * This program is free software: you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License version 3 as
00007  * published by the Free Software Foundation.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00016  *
00017  * Authored by: Neil Jagdish Patel <neil.patel@canonical.com>
00018  */
00019 
00020 #ifndef UNITY_RESULT_H
00021 #define UNITY_RESULT_H
00022 
00023 #include <NuxCore/Property.h>
00024 
00025 #include "ModelRowAdaptor.h"
00026 
00027 namespace unity
00028 {
00029 namespace dash
00030 {
00031 
00032 /* This class represents a DeeModelIter for a ResultsModel
00033  * It's slightly chunky, but that is because it's optimized to be stack-allocated
00034  * as it is not expected to be kept by the views, rather views can easily attach
00035  * a "renderer" to the iter, so when the changed or removed signals are called,
00036  * the view can easily find which widget/view belongs to this iter.
00037  */
00038 class Result : public RowAdaptorBase
00039 {
00040 public:
00041   Result(DeeModel* model, DeeModelIter* iter, DeeModelTag* tag);
00042 
00043   Result(Result const& other);
00044   Result& operator=(Result const& other);
00045 
00046   nux::ROProperty<std::string> uri;
00047   nux::ROProperty<std::string> icon_hint;
00048   nux::ROProperty<std::size_t> category_index;
00049   nux::ROProperty<std::string> mimetype;
00050   nux::ROProperty<std::string> name;
00051   nux::ROProperty<std::string> comment;
00052   nux::ROProperty<std::string> dnd_uri;
00053 
00054 private:
00055   void SetupGetters();
00056 };
00057 
00058 }
00059 }
00060 
00061 #endif