Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_mimedata.cpp File Reference
#include "kis_mimedata.h"
#include "kis_config.h"
#include "kis_node.h"
#include "kis_paint_device.h"
#include "kis_shared_ptr.h"
#include "kis_image.h"
#include "kis_layer.h"
#include "kis_shape_layer.h"
#include "kis_paint_layer.h"
#include "kis_clone_layer.h"
#include "KisDocument.h"
#include "kis_shape_controller.h"
#include "KisPart.h"
#include "kis_layer_utils.h"
#include "kis_generator_registry.h"
#include "KisGlobalResourcesInterface.h"
#include "kis_filter_configuration.h"
#include "kis_generator_layer.h"
#include "kis_selection.h"
#include "kis_node_insertion_adapter.h"
#include "kis_dummies_facade_base.h"
#include "kis_node_dummies_graph.h"
#include "KisImportExportManager.h"
#include "KisImageBarrierLock.h"
#include <commands/kis_image_layer_add_command.h>
#include <commands/kis_image_layer_move_command.h>
#include <kis_processing_applicator.h>
#include <KoProperties.h>
#include <KoStore.h>
#include <KoColorProfile.h>
#include <KoColorSpaceRegistry.h>
#include <KisDisplayConfig.h>
#include <KisPlatformPluginInterfaceFactory.h>
#include <opengl/KisOpenGLModeProber.h>
#include <QApplication>
#include <QImage>
#include <QByteArray>
#include <QBuffer>
#include <QDomDocument>
#include <QDomElement>
#include <QScreen>
#include <QDir>

Go to the source code of this file.

Functions

bool correctNewNodeLocation (KisNodeList nodes, KisNodeDummy *&parentDummy, KisNodeDummy *&aboveThisDummy)
 
bool nodeAllowsAsChild (KisNodeSP parent, KisNodeList nodes)
 

Function Documentation

◆ correctNewNodeLocation()

bool correctNewNodeLocation ( KisNodeList nodes,
KisNodeDummy *& parentDummy,
KisNodeDummy *& aboveThisDummy )

Definition at line 555 of file kis_mimedata.cpp.

558{
559 KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(parentDummy, false);
560
561 KisNodeSP parentNode = parentDummy->node();
562 bool result = true;
563
564 if(!nodeAllowsAsChild(parentDummy->node(), nodes) ||
565 (parentDummy->node()->inherits("KisGroupLayer") && parentDummy->node()->collapsed())) {
566 aboveThisDummy = parentDummy;
567 parentDummy = parentDummy->parent();
568
569 result = (!parentDummy) ? false :
570 correctNewNodeLocation(nodes, parentDummy, aboveThisDummy);
571 }
572
573 return result;
574}
KisNodeSP node() const
KisNodeDummy * parent() const
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:129
bool nodeAllowsAsChild(KisNodeSP parent, KisNodeList nodes)
bool correctNewNodeLocation(KisNodeList nodes, KisNodeDummy *&parentDummy, KisNodeDummy *&aboveThisDummy)

References KisBaseNode::collapsed, correctNewNodeLocation(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, KisNodeDummy::node(), nodeAllowsAsChild(), and KisNodeDummy::parent().

◆ nodeAllowsAsChild()

bool nodeAllowsAsChild ( KisNodeSP parent,
KisNodeList nodes )

Definition at line 543 of file kis_mimedata.cpp.

544{
545 bool result = true;
546 Q_FOREACH (KisNodeSP node, nodes) {
547 if (!parent->allowAsChild(node) || !parent->isEditable(false)) {
548 result = false;
549 break;
550 }
551 }
552 return result;
553}
ChildIterator< value_type, is_const > parent(const ChildIterator< value_type, is_const > &it)
Definition KisForest.h:327