/**
* @file Object properties dialog.
*/
/*
* Inkscape, an Open Source vector graphics editor
*
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* 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 Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Copyright (C) 2012 Kris De Gussem <Kris.DeGussem@gmail.com>
* c++ version based on former C-version (GPL v2+) with authors:
* Lauris Kaplinski <lauris@kaplinski.com>
* bulia byak <buliabyak@users.sf.net>
* Johan Engelen <goejendaagh@zonnet.nl>
* Abhishek Sharma
*/
#include "object-properties.h"
#include "widgets/sp-attribute-widget.h"
#include "document.h"
#include "document-undo.h"
#include "verbs.h"
#include "inkscape.h"
#include "selection.h"
#include "desktop.h"
#include "sp-item.h"
#include "sp-image.h"
#if WITH_GTKMM_3_0
#else
#endif
namespace Inkscape {
namespace UI {
namespace Dialog {
, _blocked (false)
{
//initialize labels for the table at the bottom of the dialog
);
_init();
}
{
}
{
contents->set_spacing(0);
#if WITH_GTKMM_3_0
#else
grid_top->set_col_spacings(0);
#endif
/* Create the label for the object id */
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
/* Create the entry box for the object id */
_entry_id.set_tooltip_text(_("The id= attribute (only letters, digits, and the characters .-_: allowed)"));
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
// pressing enter in the id field is the same as clicking Set:
// focus is in the id field initially:
/* Create the label for the object label */
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
/* Create the entry box for the object label */
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
// pressing enter in the label field is the same as clicking Set:
/* Create the label for the object title */
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
/* Create the entry box for the object title */
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
// pressing enter in the label field is the same as clicking Set:
/* Create the frame for the object description */
frame_desc->set_padding (0,0,0,0);
/* Create the text view box for the object description */
/* Image rendering */
/* Create the label for the object ImageRendering */
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
/* Create the combo box text for the 'image-rendering' property */
_combo_image_rendering.set_tooltip_text(_("The 'image-rendering' property can influence how a bitmap is up-scaled:\n\t'auto' no preference;\n\t'optimizeQuality' smooth;\n\t'optimizeSpeed' blocky.\nNote that this behaviour is not defined in the SVG 1.1 specification and not all browsers follow this interpretation."));
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
);
/* Check boxes */
#if WITH_GTKMM_3_0
grid_cb->set_column_homogeneous(true);
#else
#endif
/* Hide */
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
/* Lock */
// TRANSLATORS: "Lock" is a verb here
#if WITH_GTKMM_3_0
#else
Gtk::AttachOptions(), 0, 0 );
#endif
/* Button for setting the object's id, label, title and description. */
#if WITH_GTKMM_3_0
btn_set->set_hexpand();
#else
Gtk::AttachOptions(), 0, 0 );
#endif
/* Create the frame for interactivity options */
show_all();
update();
}
{
return;
}
if (SP_ACTIVE_DESKTOP != _desktop) {
return;
}
if (!selection->singleItem()) {
contents->set_sensitive (false);
//no selection anymore or multiple objects selected, means that we need
//to close the connections to the previously selected object
_attr_table->clear();
return;
} else {
contents->set_sensitive (true);
}
if (_current_item == item)
{
//otherwise we would end up wasting resources through the modify selection
//callback when moving an object (endlessly setting the labels and recreating _attr_table)
return;
}
_blocked = true;
/* ID */
/* Label */
} else {
/* ID */
/* Label */
/* Title */
if (title) {
}
else {
}
/* Image Rendering */
if (SP_IS_IMAGE(item)) {
} else {
}
} else {
}
/* Description */
if (desc) {
} else {
}
if (_current_item == NULL) {
} else {
}
_attr_table->show_all();
}
_blocked = false;
}
{
if (_blocked) {
return;
}
_blocked = true;
/* Retrieve the label widget for the object's id */
} else {
}
/* Retrieve the label widget for the object's label */
/* Give feedback on success of setting the drawing object's label
* using the widget's label text
*/
_("Set object label"));
}
/* Retrieve the title */
_("Set object title"));
}
/* Retrieve the description */
_("Set object description"));
}
_blocked = false;
}
{
if (_blocked) {
return;
}
_blocked = true;
// We should unset if the parent computed value is auto and the desired value is auto.
if (image_node) {
_("Set image rendering option"));
}
_blocked = false;
}
{
if (_blocked) {
return;
}
_blocked = true;
_blocked = false;
}
{
if (_blocked) {
return;
}
_blocked = true;
_blocked = false;
}
{
}
{
if (this->_desktop) {
}
);
);
}
update();
}
}
}
}
}
/*
Local Variables:
mode:c++
c-file-style:"stroustrup"
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
indent-tabs-mode:nil
fill-column:99
End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :