⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsediting.cpp

📁 khtml在gtk上的移植版本
💻 CPP
📖 第 1 页 / 共 2 页
字号:
bool execPaste(KHTMLPart *part, bool userInterface, const DOMString &value){    part->pasteFromPasteboard();    return true;}#endifbool execPrint(KHTMLPart *part, bool userInterface, const DOMString &value){    part->print();    return true;}bool execRedo(KHTMLPart *part, bool userInterface, const DOMString &value){    part->redo();    return true;}bool execSelectAll(KHTMLPart *part, bool userInterface, const DOMString &value){    part->selectAll();    return true;}bool execSubscript(KHTMLPart *part, bool userInterface, const DOMString &value){    return execStyleChange(part, CSS_PROP_VERTICAL_ALIGN, "sub");}bool execSuperscript(KHTMLPart *part, bool userInterface, const DOMString &value){    return execStyleChange(part, CSS_PROP_VERTICAL_ALIGN, "super");}bool execUndo(KHTMLPart *part, bool userInterface, const DOMString &value){    part->undo();    return true;}bool execUnselect(KHTMLPart *part, bool userInterface, const DOMString &value){    part->clearSelection();    return true;}// =============================================================================================//// queryCommandEnabled implementations//// It's a bit difficult to get a clear notion of the difference between// "supported" and "enabled" from reading the Microsoft documentation, but// what little I could glean from that seems to make some sense.//     Supported = The command is supported by this object.//     Enabled =   The command is available and enabled.bool enabled(KHTMLPart *part){    return true;}bool enabledAnySelection(KHTMLPart *part){    return part->selection().notEmpty();}#if SUPPORT_PASTEbool enabledPaste(KHTMLPart *part){    return part->canPaste();}#endifbool enabledRangeSelection(KHTMLPart *part){    return part->selection().state() == Selection::RANGE;}bool enabledRedo(KHTMLPart *part){    return part->canRedo();}bool enabledUndo(KHTMLPart *part){    return part->canUndo();}// =============================================================================================//// queryCommandIndeterm/State implementations//// It's a bit difficult to get a clear notion of what these methods are supposed// to do from reading the Microsoft documentation, but my current guess is this:////     queryCommandState and queryCommandIndeterm work in concert to return//     the two bits of information that are needed to tell, for instance,//     if the text of a selection is bold. The answer can be "yes", "no", or//     "partially".//// If this is so, then queryCommandState should return "yes" in the case where// all the text is bold and "no" for non-bold or partially-bold text.// Then, queryCommandIndeterm should return "no" in the case where// all the text is either all bold or not-bold and and "yes" for partially-bold text.KHTMLPart::TriState stateNone(KHTMLPart *part){    return KHTMLPart::falseTriState;}KHTMLPart::TriState stateBold(KHTMLPart *part){    return stateStyle(part, CSS_PROP_FONT_WEIGHT, "bold");}KHTMLPart::TriState stateItalic(KHTMLPart *part){    return stateStyle(part, CSS_PROP_FONT_STYLE, "italic");}KHTMLPart::TriState stateSubscript(KHTMLPart *part){    return stateStyle(part, CSS_PROP_VERTICAL_ALIGN, "sub");}KHTMLPart::TriState stateSuperscript(KHTMLPart *part){    return stateStyle(part, CSS_PROP_VERTICAL_ALIGN, "super");}// =============================================================================================//// queryCommandValue implementations//DOMString valueNull(KHTMLPart *part){    return DOMString();}DOMString valueBackColor(KHTMLPart *part){    return valueStyle(part, CSS_PROP_BACKGROUND_COLOR);}DOMString valueFontName(KHTMLPart *part){    return valueStyle(part, CSS_PROP_FONT_FAMILY);}DOMString valueFontSize(KHTMLPart *part){    return valueStyle(part, CSS_PROP_FONT_SIZE);}DOMString valueForeColor(KHTMLPart *part){    return valueStyle(part, CSS_PROP_COLOR);}// =============================================================================================QDict<CommandImp> createCommandDictionary(){    struct EditorCommand { const char *name; CommandImp imp; };    static const EditorCommand commands[] = {        { "backColor", { execBackColor, enabled, stateNone, valueBackColor } },        { "bold", { execBold, enabledAnySelection, stateBold, valueNull } },        { "copy", { execCopy, enabledRangeSelection, stateNone, valueNull } },        { "cut", { execCut, enabledRangeSelection, stateNone, valueNull } },        { "delete", { execDelete, enabledAnySelection, stateNone, valueNull } },        { "fontName", { execFontName, enabledAnySelection, stateNone, valueFontName } },        { "fontSize", { execFontSize, enabledAnySelection, stateNone, valueFontSize } },        { "foreColor", { execForeColor, enabledAnySelection, stateNone, valueForeColor } },        { "indent", { execIndent, enabledAnySelection, stateNone, valueNull } },        { "insertNewline", { execInsertNewline, enabledAnySelection, stateNone, valueNull } },        { "insertParagraph", { execInsertParagraph, enabledAnySelection, stateNone, valueNull } },        { "insertText", { execInsertText, enabledAnySelection, stateNone, valueNull } },        { "italic", { execItalic, enabledAnySelection, stateItalic, valueNull } },        { "justifyCenter", { execJustifyCenter, enabledAnySelection, stateNone, valueNull } },        { "justifyFull", { execJustifyFull, enabledAnySelection, stateNone, valueNull } },        { "justifyLeft", { execJustifyLeft, enabledAnySelection, stateNone, valueNull } },        { "justifyNone", { execJustifyLeft, enabledAnySelection, stateNone, valueNull } },        { "justifyRight", { execJustifyRight, enabledAnySelection, stateNone, valueNull } },        { "outdent", { execOutdent, enabledAnySelection, stateNone, valueNull } },#if SUPPORT_PASTE        { "paste", { execPaste, enabledPaste, stateNone, valueNull } },#endif        { "print", { execPrint, enabled, stateNone, valueNull } },        { "redo", { execRedo, enabledRedo, stateNone, valueNull } },        { "selectAll", { execSelectAll, enabled, stateNone, valueNull } },        { "subscript", { execSubscript, enabledAnySelection, stateSubscript, valueNull } },        { "superscript", { execSuperscript, enabledAnySelection, stateSuperscript, valueNull } },        { "undo", { execUndo, enabledUndo, stateNone, valueNull } },        { "unselect", { execUnselect, enabledAnySelection, stateNone, valueNull } }        //        // The "unsupported" commands are listed here since they appear in the Microsoft        // documentation used as the basis for the list.        //        // 2d-position (not supported)        // absolutePosition (not supported)        // blockDirLTR (not supported)        // blockDirRTL (not supported)        // browseMode (not supported)        // clearAuthenticationCache (not supported)        // createBookmark (not supported)        // createLink (not supported)        // dirLTR (not supported)        // dirRTL (not supported)        // editMode (not supported)        // formatBlock (not supported)        // inlineDirLTR (not supported)        // inlineDirRTL (not supported)        // insertButton (not supported)        // insertFieldSet (not supported)        // insertHorizontalRule (not supported)        // insertIFrame (not supported)        // insertImage (not supported)        // insertInputButton (not supported)        // insertInputCheckbox (not supported)        // insertInputFileUpload (not supported)        // insertInputHidden (not supported)        // insertInputImage (not supported)        // insertInputPassword (not supported)        // insertInputRadio (not supported)        // insertInputReset (not supported)        // insertInputSubmit (not supported)        // insertInputText (not supported)        // insertMarquee (not supported)        // insertOrderedList (not supported)        // insertSelectDropDown (not supported)        // insertSelectListBox (not supported)        // insertTextArea (not supported)        // insertUnorderedList (not supported)        // liveResize (not supported)        // multipleSelection (not supported)        // open (not supported)        // overwrite (not supported)        // playImage (not supported)        // refresh (not supported)        // removeFormat (not supported)        // removeParaFormat (not supported)        // saveAs (not supported)        // sizeToControl (not supported)        // sizeToControlHeight (not supported)        // sizeToControlWidth (not supported)        // stop (not supported)        // stopimage (not supported)        // strikethrough (not supported)        // unbookmark (not supported)        // underline (not supported)        // unlink (not supported)    };    const int numCommands = sizeof(commands) / sizeof(commands[0]);    QDict<CommandImp> commandDictionary(numCommands, false); // case-insensitive dictionary    for (int i = 0; i < numCommands; ++i) {        commandDictionary.insert(commands[i].name, &commands[i].imp);    }    return commandDictionary;}} // anonymous namespace} // namespace DOM

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -