void RKCaughtX11Window::commonInit (int device_number) { RK_TRACE (MISC); capture = 0; rk_native_device = 0; embedded = 0; killed_in_r = close_attempted = false; RKCaughtX11Window::device_number = device_number; RK_ASSERT (!device_windows.contains (device_number)); device_windows.insert (device_number, this); error_dialog = new RKProgressControl (0, i18n ("An error occurred"), i18n ("An error occurred"), RKProgressControl::DetailedError); setPart (new RKCaughtX11WindowPart (this)); setMetaInfo (i18n ("Graphics Device Window"), "rkward://page/rkward_plot_history", RKSettings::PageX11); initializeActivationSignals (); setFocusPolicy (Qt::ClickFocus); updateHistoryActions (0, 0, QStringList ()); QVBoxLayout *layout = new QVBoxLayout (this); layout->setContentsMargins (0, 0, 0, 0); box_widget = new KVBox (this); layout->addWidget (box_widget); scroll_widget = new QScrollArea (this); scroll_widget->hide (); layout->addWidget (scroll_widget); xembed_container = new KVBox (box_widget); // QX11EmbedContainer can not be reparented (between the box_widget, and the scroll_widget) directly. Therefore we place it into a container, and reparent that instead. // Also, this makes it easier to handle the various different devices dynamic_size = false; dynamic_size_action->setChecked (false); }
Data& Data::operator=(const Data& data) { if (data.signature_.get()) signature_.set(data.signature_.get()->clone()); else signature_.set(ptr_lib::shared_ptr<Signature>()); setName(data.name_.get()); setMetaInfo(data.metaInfo_.get()); setContent(data.content_); setDefaultWireEncoding (data.defaultWireEncoding_, data.defaultWireEncodingFormat_); return *this; }
RKConsole::RKConsole (QWidget *parent, bool tool_window, const char *name) : RKMDIWindow (parent, RKMDIWindow::ConsoleWindow, tool_window, name) { RK_TRACE (APP); QVBoxLayout *layout = new QVBoxLayout (this); layout->setContentsMargins (0, 0, 0, 0); // create a Kate-part as command-editor KTextEditor::Editor* editor = KTextEditor::editor("katepart"); RK_ASSERT (editor); doc = editor->createDocument (this); view = doc->createView (this); layout->addWidget (view); KTextEditor::ConfigInterface *confint = qobject_cast<KTextEditor::ConfigInterface*> (view); RK_ASSERT (view); confint->setConfigValue ("dynamic-word-wrap", false); setFocusProxy (view); setFocusPolicy (Qt::StrongFocus); /* We need to disable kactions that were plugged to the KateViewInternal in kateview.cpp. These actions include Key_Up, Key_Down, etc. */ kate_edit_actions = view->findChild<KActionCollection*> ("edit_actions"); if (!kate_edit_actions) { kate_edit_actions=view->actionCollection(); } if (kate_edit_actions) { // make sure these actions never get triggered by a shortcut QList<QKeySequence> noshort; noshort.append (QKeySequence ()); // no primary noshort.append (QKeySequence ()); // no secondary noshort.append (QKeySequence ()); // for good measure QList<QAction*> keas = kate_edit_actions->actions (); for (int i = 0; i < keas.size (); ++i) { keas[i]->setShortcuts (noshort); } } else { RK_DO (qDebug ("Could not retrieve the katepart's edit action collection"), APP, DL_ERROR); } if (view->focusProxy ()) view->focusProxy()->installEventFilter(this); view->installEventFilter(this); doc->setModified (false); hinter = new RKFunctionArgHinter (this, view); setCaption (i18n ("R Console")); console_part = new RKConsolePart (this); setPart (console_part); setMetaInfo (shortCaption (), "rkward://page/rkward_console", RKSettings::PageConsole); initializeActivationSignals (); initializeActions (getPart ()->actionCollection ()); nprefix = "> "; iprefix = "+ "; prefix = nprefix; // KDE4: a way to do this? // doc->setUndoSteps (0); clear (); RKCommandHighlighter::setHighlighting (doc, RKCommandHighlighter::RInteractiveSession); commands_history = RKSettingsModuleConsole::loadCommandHistory (); commands_history_position = commands_history.constEnd (); current_command = 0; current_command_displayed_up_to = 0; tab_key_pressed_before = false; previous_chunk_was_piped = false; // KDE4 TODO: workaround for KDE 4 pre-release versions. Hope this gets fixed before 4.0 // see http://lists.kde.org/?l=kwrite-devel&m=119721420603507&w=2 setMinimumHeight (50); }