* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include <cassert>
#include <QFormLayout>
+#include <QLabel>
#include <pv/prop/property.hpp>
#include "binding.hpp"
using std::shared_ptr;
+using std::string;
+using std::vector;
namespace pv {
namespace binding {
-const std::vector< std::shared_ptr<prop::Property> >& Binding::properties()
+const vector< shared_ptr<prop::Property> >& Binding::properties()
{
return properties_;
}
for (shared_ptr<pv::prop::Property> p : properties_) {
assert(p);
- QWidget *const widget = p->get_widget(layout->parentWidget(),
- auto_commit);
- if (p->labeled_widget())
+ QWidget *const widget = p->get_widget(layout->parentWidget(), auto_commit);
+ if (p->labeled_widget()) {
layout->addRow(widget);
- else
- layout->addRow(p->name(), widget);
+ } else {
+ auto *lbl = new QLabel(p->name());
+ lbl->setToolTip(p->desc());
+ layout->addRow(lbl, widget);
+ }
}
}
return form;
}
+void Binding::update_property_widgets()
+{
+ for (shared_ptr<pv::prop::Property> p : properties_) {
+ assert(p);
+ p->update_widget();
+ }
+}
+
QString Binding::print_gvariant(Glib::VariantBase gvar)
{
QString s;
s = QString::fromStdString("(null)");
else if (gvar.is_of_type(Glib::VariantType("s")))
s = QString::fromStdString(
- Glib::VariantBase::cast_dynamic<Glib::Variant<std::string>>(
- gvar).get());
+ Glib::VariantBase::cast_dynamic<Glib::Variant<string>>(gvar).get());
else
s = QString::fromStdString(gvar.print());
return s;
}
-} // binding
-} // pv
+} // namespace binding
+} // namespace pv