blob: ed2d0d4ff8ac14772d78bfbfdab698f66d572d7f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
#include "config.h"
#include "WebEdit.h"
#include "AtomicString.h"
#include "CompositeEditCommand.h"
#include "Document.h"
#include "Frame.h"
#include "HTMLNames.h"
#include "QualifiedName.h"
#include "StringImpl.h"
#include "WebFrame.h"
#include "WebDOMElement.h"
namespace WebCore {
class WebCoreEditCommand: public CompositeEditCommand
{
public:
WebCoreEditCommand(WebCore::Document* document)
: CompositeEditCommand(document)
{ }
void setElementAttribute(PassRefPtr<Element> element, const QualifiedName& attribute, const AtomicString& value)
{
setNodeAttribute(element, attribute, value);
}
// composite commands are applied as they are added, so we don't
// need doApply to do anything.
virtual void doApply() {}
};
}
wxWebEditCommand::wxWebEditCommand(wxWebFrame* webframe)
{
if (webframe) {
WebCore::Frame* frame = webframe->GetFrame();
if (frame && frame->document())
m_impl = new WebCore::WebCoreEditCommand(frame->document());
m_impl->ref();
}
}
wxWebEditCommand::~wxWebEditCommand()
{
// the impl. is ref-counted, so don't delete it as it may be in an undo/redo stack
if (m_impl)
m_impl->deref();
m_impl = 0;
}
void wxWebEditCommand::SetNodeAttribute(WebDOMElement* element, const wxString& name, const wxString& value)
{
if (m_impl)
m_impl->setElementAttribute(element->impl(), WebCore::QualifiedName(WebCore::nullAtom, WebCore::String(name), WebCore::nullAtom), WebCore::String(value));
}
void wxWebEditCommand::Apply()
{
if (m_impl)
m_impl->apply();
}
|