This commit is contained in:
Zira 2019-10-09 22:32:44 +05:00
commit f9df0cc708
151 changed files with 85090 additions and 0 deletions

120
ZiraEditor.pro Normal file
View file

@ -0,0 +1,120 @@
#-------------------------------------------------
#
# Project created by QtCreator 2019-01-28T15:56:10
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = ZiraEditor
TEMPLATE = app
# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
INCLUDEPATH += include
SOURCES += \
main.cpp \
src/mainwindow.cpp \
src/helper.cpp \
src/settings.cpp \
src/editor.cpp \
src/linenumber.cpp \
src/highlightdata.cpp \
src/highlight.cpp \
src/completepopup.cpp \
src/search.cpp \
src/linemark.cpp \
src/linemap.cpp \
src/highlightwords.cpp \
src/completewords.cpp \
src/editortab.cpp \
src/parserworker.cpp \
src/createfiledialog.cpp \
src/createfolderdialog.cpp \
src/filebrowser.cpp \
src/editortabs.cpp \
src/parsephp.cpp \
src/parsejs.cpp \
src/parsecss.cpp \
src/parse.cpp \
src/navigator.cpp \
src/tooltip.cpp \
src/breadcrumbs.cpp \
src/helpwords.cpp \
src/createprojectdialog.cpp \
src/project.cpp \
src/searchdialog.cpp \
src/git.cpp \
src/servers.cpp \
src/editprojectdialog.cpp \
src/quickaccess.cpp \
src/settingsdialog.cpp \
src/helpdialog.cpp
HEADERS += \
include/mainwindow.h \
include/helper.h \
include/settings.h \
include/editor.h \
include/linenumber.h \
include/highlightdata.h \
include/highlight.h \
include/completepopup.h \
include/search.h \
include/linemark.h \
include/linemap.h \
include/highlightwords.h \
include/completewords.h \
include/editortab.h \
include/parserworker.h \
include/createfiledialog.h \
include/createfolderdialog.h \
include/filebrowser.h \
include/editortabs.h \
include/parsephp.h \
include/parsejs.h \
include/parsecss.h \
include/parse.h \
include/navigator.h \
include/tooltip.h \
include/breadcrumbs.h \
include/helpwords.h \
include/createprojectdialog.h \
include/project.h \
include/searchdialog.h \
include/git.h \
include/servers.h \
include/editprojectdialog.h \
include/quickaccess.h \
include/types.h \
include/settingsdialog.h \
include/helpdialog.h
FORMS += \
ui/mainwindow.ui \
ui/createfile.ui \
ui/createfolder.ui \
ui/createproject.ui \
ui/search.ui \
ui/editproject.ui \
ui/settings.ui \
ui/helpdialog.ui
RESOURCES += \
qrc/highlight.qrc \
qrc/syntax.qrc \
qrc/image.qrc \
qrc/help.qrc \
qrc/style.qrc

336
ZiraEditor.pro.user Normal file
View file

@ -0,0 +1,336 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.6.1, 2019-07-24T22:05:36. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{87e6705a-403b-4d09-9a19-a1efb888e081}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.PluginSettings</variable>
<valuemap type="QVariantMap"/>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{9d0229e0-e5ee-4626-9de5-dc68584ba2f6}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/makaka/qt_projects/build-ZiraEditor-Desktop-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/makaka/qt_projects/build-ZiraEditor-Desktop-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/makaka/qt_projects/build-ZiraEditor-Desktop-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
<value type="QString">-w</value>
<value type="QString">-r</value>
</valuelist>
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
<value type="int">0</value>
<value type="int">1</value>
<value type="int">2</value>
<value type="int">3</value>
<value type="int">4</value>
<value type="int">5</value>
<value type="int">6</value>
<value type="int">7</value>
<value type="int">8</value>
<value type="int">9</value>
<value type="int">10</value>
<value type="int">11</value>
<value type="int">12</value>
<value type="int">13</value>
<value type="int">14</value>
</valuelist>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">ZiraEditor</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/makaka/qt_projects/ZiraEditor/ZiraEditor.pro</value>
<value type="bool" key="QmakeProjectManager.QmakeRunConfiguration.UseLibrarySearchPath">true</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">ZiraEditor.pro</value>
<value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory.default">/home/makaka/qt_projects/build-ZiraEditor-Desktop-Release</value>
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">18</value>
</data>
<data>
<variable>Version</variable>
<value type="int">18</value>
</data>
</qtcreator>

33
include/breadcrumbs.h Normal file
View file

@ -0,0 +1,33 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef BREADCRUMBS_H
#define BREADCRUMBS_H
#include <QWidget>
#include "editor.h"
class Breadcrumbs : public QWidget
{
Q_OBJECT
public:
explicit Breadcrumbs(Editor * codeEditor);
~Breadcrumbs();
QSize sizeHint() const override;
void setText(QString txt);
QString getText();
protected:
void paintEvent(QPaintEvent *event) override;
void mousePressEvent(QMouseEvent *e) override;
private:
Editor * editor;
QString text;
signals:
public slots:
};
#endif // BREADCRUMBS_H

36
include/completepopup.h Normal file
View file

@ -0,0 +1,36 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef COMPLETEPOPUP_H
#define COMPLETEPOPUP_H
#include <QListWidget>
class CompletePopup : public QListWidget
{
Q_OBJECT
public:
explicit CompletePopup(QWidget * parent);
~CompletePopup();
void clearItems();
void addItem(QString str, QString data, QString delimiter = "");
void showPopup(int cursLeft, int cursTop, int viewLeft, int viewTop, int viewWidth, int viewHeight, int blockHeight);
void hidePopup();
void selectNextItem();
void selectPreviousItem();
void chooseCurrentItem();
void setTextStartPos(int pos);
int getTextStartPos();
int limit();
private:
int textStartPos;
private slots:
void onItemClicked(QListWidgetItem * item);
signals:
void itemDataClicked(QString text, QString data);
};
#endif // COMPLETEPOPUP_H

56
include/completewords.h Normal file
View file

@ -0,0 +1,56 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef COMPLETEWORDS_H
#define COMPLETEWORDS_H
#include <unordered_map>
#include <map>
#include "highlightwords.h"
class CompleteWords : public QObject
{
Q_OBJECT
public:
CompleteWords(HighlightWords * hWords);
void reload();
void reset();
std::unordered_map<std::string, std::string> tooltipsPHP;
std::unordered_map<std::string, std::string>::iterator tooltipsIteratorPHP;
std::unordered_map<std::string, std::string> htmlTags;
std::unordered_map<std::string, std::string>::iterator htmlTagsIterator;
std::unordered_map<std::string, std::string> phpFunctionTypes;
std::unordered_map<std::string, std::string>::iterator phpFunctionTypesIterator;
std::unordered_map<std::string, std::string> phpClassMethodTypes;
std::unordered_map<std::string, std::string>::iterator phpClassMethodTypesIterator;
std::unordered_map<std::string, std::string> phpClassParents;
std::unordered_map<std::string, std::string>::iterator phpClassParentsIterator;
std::map<std::string, std::string> htmlAllTagsComplete;
std::map<std::string, std::string> cssPropertiesComplete;
std::map<std::string, std::string> jsObjectsComplete;
std::map<std::string, std::string> jsSpecialsComplete;
std::map<std::string, std::string> phpFunctionsComplete;
std::map<std::string, std::string> phpConstsComplete;
std::map<std::string, std::string> phpClassesComplete;
std::map<std::string, std::string> phpClassConstsComplete;
std::map<std::string, std::string> phpClassPropsComplete;
std::map<std::string, std::string> phpClassMethodsComplete;
std::map<std::string, std::string> phpGlobalsComplete;
std::map<std::string, std::string> phpSpecialsComplete;
protected:
void loadCSSWords();
void loadHTMLWords();
void loadJSWords();
void loadPHPWords();
private:
HighlightWords * HW;
public slots:
void load();
};
#endif // COMPLETEWORDS_H

View file

@ -0,0 +1,36 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef CREATEFILEDIALOG_H
#define CREATEFILEDIALOG_H
#include "ui_createfile.h"
#include <QDialog>
class CreateFileDialog : public QDialog
{
Q_OBJECT
public:
CreateFileDialog(QWidget * parent);
~CreateFileDialog();
void setDirectory(QString path);
void setName(QString path);
QString getDirectory();
QString getName();
QString getPath();
void focusDirectory();
void focusName();
protected:
void checkPath(QString directory, QString name);
private:
Ui::CreateFileDialog * ui;
private slots:
void directoryChanged(QString path);
void nameChanged(QString path);
void chooseButtonPressed(void);
};
#endif // CREATEFILEDIALOG_H

View file

@ -0,0 +1,36 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef CREATEFOLDERDIALOG_H
#define CREATEFOLDERDIALOG_H
#include "ui_createfolder.h"
#include <QDialog>
class CreateFolderDialog : public QDialog
{
Q_OBJECT
public:
CreateFolderDialog(QWidget * parent);
~CreateFolderDialog();
void setDirectory(QString path);
void setName(QString path);
QString getDirectory();
QString getName();
QString getPath();
void focusDirectory();
void focusName();
protected:
void checkPath(QString directory, QString name);
private:
Ui::CreateFolderDialog * ui;
private slots:
void directoryChanged(QString path);
void nameChanged(QString path);
void chooseButtonPressed(void);
};
#endif // CREATEFOLDERDIALOG_H

View file

@ -0,0 +1,40 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef CREATEPROJECTDIALOG_H
#define CREATEPROJECTDIALOG_H
#include "ui_createproject.h"
#include <QDialog>
class CreateProjectDialog : public QDialog
{
Q_OBJECT
public:
CreateProjectDialog(QWidget * parent);
~CreateProjectDialog();
void setDirectory(QString path);
void setName(QString name);
void setLintEnabled(bool enabled);
void setCSEnabled(bool enabled);
QString getDirectory();
QString getName();
QString getPath();
bool getLintEnabled();
bool getCSEnabled();
void focusDirectory();
void focusName();
protected:
void checkPath(QString directory, QString name);
private:
Ui::CreateProjectDialog * ui;
private slots:
void directoryChanged(QString path);
void nameChanged(QString name);
void chooseButtonPressed(void);
};
#endif // CREATEPROJECTDIALOG_H

328
include/editor.h Normal file
View file

@ -0,0 +1,328 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef EDITOR_H
#define EDITOR_H
#include <QTextEdit>
#include <QRegularExpression>
#include <QLabel>
#include "settings.h"
#include "highlight.h"
#include "completepopup.h"
#include "highlightwords.h"
#include "completewords.h"
#include "helpwords.h"
#include "tooltip.h"
#include "parsephp.h"
#include "parsejs.h"
class Editor : public QTextEdit
{
Q_OBJECT
public:
Editor(Settings * settings, HighlightWords * highlightWords, CompleteWords * completeWords, HelpWords * helpWords, QWidget * parent = 0);
~Editor();
void init();
void lineNumberAreaPaintEvent(QPaintEvent *event);
void lineMarkAreaPaintEvent(QPaintEvent *event);
void lineMapAreaPaintEvent(QPaintEvent *event);
void searchPaintEvent(QPaintEvent *event);
void breadcrumbsPaintEvent(QPaintEvent *event);
int lineNumberAreaWidth();
int lineMarkAreaWidth();
int lineMapAreaWidth();
int searchWidgetHeight();
int breadcrumbsHeight();
void setFileName(QString name);
QString getFileName();
QString getFileExtension();
void initMode(QString ext);
void initHighlighter();
void reset();
void detectTabsMode();
void convertNewLines(QString & txt);
std::string getTabType();
int getTabWidth();
std::string getNewLineMode();
std::string getEncoding();
std::string getFallbackEncoding();
bool isOverwrite();
void hidePopups();
void searchText(QString search, bool CaSe, bool Word, bool RegE, bool backwards = false, bool fromStart = false);
void replaceText(QString search, QString replace, bool CaSe, bool Word, bool RegE);
void replaceAllText(QString search, QString replace, bool CaSe, bool Word, bool RegE);
void showSearch();
void closeSearch();
void searchFlagsChanged(QString searchStr, bool CaSe, bool Word, bool RegE);
void clearWarnings();
void setWarning(int line, QString text = "");
void clearErrors();
void setError(int line, QString text = "");
void scrollLineMap(int y);
void showLineMap(int y);
void showLineMark(int y);
void addLineMark(int y);
void setTabIndex(int index);
int getTabIndex();
bool isModified();
void setModified(bool m);
void updateSizes();
QString getContent();
void updateMarksAndMapArea();
std::string getModeType();
bool isReady();
void gotoLine(int line, bool focus = true);
void gotoLineSymbol(int line, int symbol);
int getCursorLine();
void setParseResult(ParsePHP::ParseResult result);
void setParseResult(ParseJS::ParseResult result);
bool isUndoable();
bool isRedoable();
bool isBackable();
bool isForwadable();
void highlightUnusedVars(bool update = true);
void resetExtraSelections();
protected:
void focusInEvent(QFocusEvent *e) override;
void focusOutEvent(QFocusEvent *e) override;
void keyPressEvent(QKeyEvent *e) override;
void keyReleaseEvent(QKeyEvent *e) override;
void mousePressEvent(QMouseEvent *e) override;
void mouseReleaseEvent(QMouseEvent *e) override;
void contextMenuEvent(QContextMenuEvent *event) override;
bool event(QEvent *e) override;
void paintEvent(QPaintEvent *e) override;
void clearTextHoverFormat();
void insertFromMimeData(const QMimeData *source) override;
void updateWidgetsGeometry();
void setTabsSettings();
void updateViewportMargins();
void updateLineNumberArea();
QString cleanUpText(QString blockText);
void cleanForSave();
void showTooltip(int x, int y, QString text, bool richText = true, int fixedWidth = 0);
void showTooltip(QTextCursor * curs, QString text, bool richText = true, int fixedWidth = 0);
void hideTooltip();
void setBreadcrumbsText(QString text);
int findFirstVisibleBlockIndex();
int findLastVisibleBlockIndex();
int getFirstVisibleBlockIndex();
int getLastVisibleBlockIndex();
void highlightExtras(QChar prevChar='\0', QChar nextChar='\0', QChar cursorTextPrevChar='\0', QString cursorText="", int cursorTextPos=-1, std::string mode="");
void highlightCloseCharPair(QChar openChar, QChar closeChar, QList<QTextEdit::ExtraSelection> * extraSelections);
void highlightOpenCharPair(QChar openChar, QChar closeChar, QList<QTextEdit::ExtraSelection> * extraSelections);
void highlightCloseTagPair(QString tagName, int pos, QList<QTextEdit::ExtraSelection> * extraSelections);
void highlightOpenTagPair(QString tagName, int pos, QList<QTextEdit::ExtraSelection> * extraSelections);
void highlightPHPCloseSpecialTagPair(QString tagName, int pos, QList<QTextEdit::ExtraSelection> * extraSelections);
void highlightPHPOpenSpecialTagPair(QString tagName, int pos, QList<QTextEdit::ExtraSelection> * extraSelections);
void highlightCurrentLine(QList<QTextEdit::ExtraSelection> * extraSelections);
void showCompletePopup();
void hideCompletePopup();
void detectCompleteText(QString text, QChar cursorTextPrevChar, int cursorTextPos, std::string mode);
void detectCompleteTextHTML(QString text, QChar cursorTextPrevChar);
void detectCompleteTextCSS(QString text);
void detectCompleteTextJS(QString text, int cursorTextPos);
void detectCompleteTextPHP(QString text, int cursorTextPos);
void detectCompleteTextPHPGlobalContext(QString text, int cursorTextPos, QChar prevChar, QChar prevPrevChar, QString prevWord, QTextCursor curs);
void detectCompleteTextPHPObjectContext(QString text, int cursorTextPos, QChar prevChar, QChar prevPrevChar, QString prevWord, QTextCursor curs);
void detectCompleteTextPHPNotFoundContext(QString text, QChar prevChar, QChar prevPrevChar);
void detectCompleteTextRequest(QString text, int cursorTextPos, QChar prevChar, QChar prevPrevChar, std::string mode);
void detectParsOpenAtCursor(QTextCursor & curs);
void detectParsCloseAtCursor(QTextCursor & curs);
QString detectCompleteTypeAtCursorPHP(QTextCursor & curs, QString nsName, QString clsName, QString funcName);
void followTooltip();
QChar findPrevCharNonSpaceAtCursos(QTextCursor & curs);
QChar findNextCharNonSpaceAtCursos(QTextCursor & curs);
QString findPrevWordNonSpaceAtCursor(QTextCursor & curs, std::string mode);
QString findNextWordNonSpaceAtCursor(QTextCursor & curs, std::string mode);
QString completeClassNamePHPAtCursor(QTextCursor & curs, QString prevWord, QString nsName);
void scrollToMiddle(QTextCursor cursor, int line);
public slots:
void save(QString name = "");
void back();
void forward();
void findToggle();
protected slots:
void resizeEvent(QResizeEvent *event) override;
private slots:
void blockCountChanged(int);
void scrollbarValueChanged(int);
void scrollbarValueChangedDelayed();
void textChanged();
void textChangedDelayed();
void cursorPositionChanged();
void cursorPositionChangedDelayed();
void backtab();
void comment();
void switchOverwrite();
void completePopupSelected(QString text, QString data);
void tooltip(int offset = 0);
void parseResultPHPChanged(bool async = true);
void showDeclarationRequested();
void showHelpRequested();
void showSearchRequested();
void gotoLineRequest();
void onUndoAvailable(bool available);
void onRedoAvailable(bool available);
void searchInFilesRequested();
void highlightProgressChanged(int percent);
void contentsChange(int position, int charsRemoved, int charsAdded);
void duplicateLine();
void deleteLine();
void reloadRequested();
private:
CompleteWords * CW;
HighlightWords * HW;
HelpWords * HPW;
int tabIndex;
std::string tabWidthStr;
std::string tabTypeStr;
std::string detectTabTypeStr;
int tabWidth;
std::string tabType;
bool detectTabType;
std::string newLineMode;
std::string encoding;
std::string encodingFallback;
bool overwrite;
bool highlighterInitialized;
bool isUndoAvailable;
bool isRedoAvailable;
QWidget * lineNumber;
QWidget * lineMark;
QWidget * lineMap;
CompletePopup * completePopup;
QWidget * search;
Highlight * highlight;
QWidget * breadcrumbs;
QFont editorFont;
QFont editorPopupFont;
QFont editorTooltipFont;
QFont editorBreadcrumbsFont;
QColor lineNumberBgColor;
QColor lineNumberColor;
QColor lineMarkBgColor;
QColor lineMapBgColor;
QColor lineMapScrollBgColor;
QColor lineMapScrollAreaBgColor;
QColor searchBgColor;
QColor breadcrumbsBgColor;
QColor breadcrumbsWarningBgColor;
QColor breadcrumbsErrorBgColor;
QColor breadcrumbsColor;
QColor widgetBorderColor;
QColor selectedLineBgColor;
QColor selectedWordBgColor;
QColor selectedCharBgColor;
QColor selectedCharColor;
QColor selectedTagBgColor;
QColor selectedExpressionBgColor;
QColor searchWordBgColor;
QColor textColor;
QColor bgColor;
QColor tooltipBgColor;
QColor tooltipColor;
QColor searchInputBgColor;
QColor searchInputErrorBgColor;
QColor lineMarkColor;
QColor lineErrorColor;
QColor lineWarningColor;
QColor lineMarkRectColor;
QColor lineErrorRectColor;
QColor lineWarningRectColor;
QRegularExpression tagExpr;
QRegularExpression tagOpenExpr;
QRegularExpression phpExpr;
QRegularExpression strExpr;
QRegularExpression functionExpr;
QRegularExpression tagExprIf;
QRegularExpression tagExprElse;
QRegularExpression tagExprEndif;
QRegularExpression tagExprSwitch;
QRegularExpression tagExprCase;
QRegularExpression tagExprEndswitch;
QRegularExpression tagExprWhile;
QRegularExpression tagExprEndwhile;
QRegularExpression tagExprFor;
QRegularExpression tagExprEndfor;
QRegularExpression tagExprForeach;
QRegularExpression tagExprEndforeach;
QRegularExpression stripTagsExpr;
QRegularExpression functionNameExpr;
QRegularExpression functionParamsExpr;
QRegularExpression functionWordExpr;
QRegularExpression classNameExpr;
ParsePHP parserPHP;
ParsePHP::ParseResult parseResultPHP;
ParseJS::ParseResult parseResultJS;
QString fileName;
QString extension;
bool is_ready;
std::string modeOnKeyPress;
int lastKeyPressed;
Tooltip tooltipLabel;
QString tooltipSavedText;
int tooltipSavedPageOffset;
QString tooltipSavedOrigName;
QStringList tooltipSavedList;
QString tooltipBoldColorStr;
QString tooltipBoldTagStart;
QString tooltipBoldTagEnd;
int tooltipSavedBlockNumber;
bool focused;
bool cursorPositionChangeLocked;
bool scrollBarValueChangeLocked;
bool modified;
int lastModifiedMsec;
bool warningDisplayed;
bool parseLocked;
bool showBreadcrumbs;
bool cleanBeforeSave;
bool searchCaSe;
bool searchWord;
bool searchRegE;
QString searchString;
std::unordered_map<int, std::string> markPoints;
std::unordered_map<int, std::string>::iterator markPointsIterator;
QVector<int> backPositions;
QVector<int> forwardPositions;
int lastCursorPositionBlockNumber;
bool parsePHPEnabled;
QColor unusedVariableColor;
QList<QTextEdit::ExtraSelection> wordsExtraSelections;
bool experimentalMode;
signals:
void ready(int index);
void statusBarText(int index, QString text);
void modifiedStateChanged(int index, bool m);
void progressChanged(int index, int v);
void filenameChanged(int index, QString name);
void saved(int index);
void reloaded(int index);
void showDeclaration(int index, QString name);
void showHelp(int index, QString name);
void parsePHP(int index, QString text);
void undoRedoChanged(int index);
void backForwardChanged(int index);
void searchInFiles(QString text);
void focusIn(int index);
void breadcrumbsClick(int index);
void warning(int index, QString slug, QString text);
};
#endif // EDITOR_H

26
include/editortab.h Normal file
View file

@ -0,0 +1,26 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef EDITORTAB_H
#define EDITORTAB_H
#include <QWidget>
#include "editor.h"
class EditorTab : public QWidget
{
Q_OBJECT
public:
explicit EditorTab(QWidget *parent = nullptr);
~EditorTab();
void setEditor(Editor * editor);
Editor * getEditor();
signals:
public slots:
};
#endif // EDITORTAB_H

98
include/editortabs.h Normal file
View file

@ -0,0 +1,98 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef EDITORTABS_H
#define EDITORTABS_H
#include <QObject>
#include "editor.h"
class EditorTabs : public QObject
{
Q_OBJECT
public:
EditorTabs(QTabWidget * widget, Settings * settings, HighlightWords * highlightWords, CompleteWords * completeWords, HelpWords * helpWords);
~EditorTabs();
void createTab(QString filepath, bool initHighlight = true);
bool closeWindowAllowed();
Editor * getActiveEditor();
QStringList getOpenTabFiles();
QList<int> getOpenTabLines();
int getCurrentTabIndex();
QString getCurrentTabFilename();
void closeSaved();
void setActiveTab(int index);
void setTabLines(QList<int> lines);
void initHighlighters();
QRect getGeometry();
QRect getGeometryGlobal();
QRect getGeometryMappedTo(QWidget * parent);
protected:
Editor * getTabEditor(int index);
QString getTabNameFromPath(QString filepath);
void fileBrowserFileRenamed(QString oldpath, QString newpath);
void fileBrowserFolderRenamed(QString oldpath, QString newpath);
private:
Editor * editor;
QTabWidget * tabWidget;
Settings * settings;
HighlightWords * highlightWords;
CompleteWords * completeWords;
HelpWords * helpWords;
bool blockSig;
signals:
void statusBarText(QString);
void progressChange(int);
void editorFilenameChanged(QString);
void tabOpened(int index);
void tabSwitched(int index);
void tabClosed(int index);
void modifiedStateChanged(bool m);
void editorSaved(int index);
void editorReady(int index);
void editorShowDeclaration(QString name);
void editorShowHelp(QString name);
void editorParsePHPRequested(int index, QString text);
void editorUndoRedoChanged();
void editorBackForwardChanged();
void editorSearchInFilesRequested(QString text);
void updateProject(void);
void editorFocused(void);
void editorBreadcrumbsClick(void);
public slots:
void openFile(QString filepath, bool initHighlight = true);
void fileBrowserCreated(QString path);
void fileBrowserRenamed(QString oldpath, QString newpath);
void fileBrowserDeleted(QString path);
void open(QString dir = "");
void save();
void saveAll();
void saveAs();
void close();
void closeTab(int index);
private slots:
void ready(int index);
void switchTab(int index);
void editorModifiedStateChanged(int index, bool m);
void statusBarTextChangeRequested(int index, QString text);
void progressChangeRequested(int index, int val);
void filenameChanged(int index, QString name);
void saved(int index);
void reloaded(int index);
void showDeclaration(int index, QString name);
void showHelp(int index, QString name);
void parsePHP(int index, QString text);
void undoRedoChanged(int index);
void backForwardChanged(int index);
void searchInFiles(QString text);
void searchInFilesRequested();
void focusIn(int index);
void breadcrumbsClick(int index);
void warning(int index, QString slug, QString text);
};
#endif // EDITORTABS_H

View file

@ -0,0 +1,35 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef EDITPROJECTDIALOG_H
#define EDITPROJECTDIALOG_H
#include "ui_editproject.h"
#include <QDialog>
class EditProjectDialog : public QDialog
{
Q_OBJECT
public:
EditProjectDialog(QWidget * parent);
~EditProjectDialog();
void setPath(QString path);
void setName(QString name);
void setLintEnabled(bool enabled);
void setCSEnabled(bool enabled);
QString getName();
bool getLintEnabled();
bool getCSEnabled();
void focusName();
protected:
void checkName(QString name);
private:
Ui::EditProjectDialog * ui;
private slots:
void nameChanged(QString name);
};
#endif // EDITPROJECTDIALOG_H

71
include/filebrowser.h Normal file
View file

@ -0,0 +1,71 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef FILEBROWSER_H
#define FILEBROWSER_H
#include "settings.h"
#include <QTreeWidget>
#include <QLineEdit>
#include <QEvent>
class FileBrowser : public QObject
{
Q_OBJECT
public:
FileBrowser(QTreeWidget * widget, QLineEdit * line, Settings * settings);
~FileBrowser();
void showCreateFileDialog(QString startDir = "");
void showCreateFolderDialog(QString startDir = "");
void showCreateProjectDialog(bool phpLintEnabled, bool phpCSEnabled, QString startDir = "");
void showEditProjectDialog(QString title, QString path, bool phpLintEnabled, bool phpCSEnabled);
void openProject(QString startDir = "");
void refreshFileBrowserDirectory(QString directory);
void rebuildFileBrowserTree(QString path);
QString getRootPath();
QString getHomeDir();
protected:
bool eventFilter(QObject *watched, QEvent *event) override;
void initFileBrowser(QString homeDir = "");
void buildFileBrowserTree(QString startDir, QTreeWidgetItem * parent = nullptr);
void fbCreateNewItemRequested(QTreeWidgetItem * item, QString actionName);
void fbEditItemRequested(QTreeWidgetItem * item, QString actionName);
void fbDeleteRequested(QTreeWidgetItem * item);
void fbReloadItem(QTreeWidgetItem * item);
void fbCopyItem(QTreeWidgetItem * item);
void fbCutItem(QTreeWidgetItem * item);
void fbPasteItem(QTreeWidgetItem * item);
void fileBrowserRemoveEmptyItems();
private:
QTreeWidget * treeWidget;
QLineEdit * pathLine;
QString fbpath;
QString fbcopypath;
QString fbcutpath;
QTreeWidgetItem * fbcopyitem;
QTreeWidgetItem * fbcutitem;
QString fileBrowserHomeDir;
private slots:
void fileBrowserExpanded(QTreeWidgetItem * item);
void fileBrowserCollapsed(QTreeWidgetItem * item);
void fileBrowserDoubleClicked(QTreeWidgetItem * item, int column);
void fileBrowserPathReturnPressed();
void fileBrowserContextMenuRequested(QPoint p);
void fileBrowserItemChanged(QTreeWidgetItem * item, int col);
void fileBrowserItemSelectionChanged();
void upActionTriggered(bool checked);
signals:
void openFile(QString);
void fileCreated(QString);
void folderCreated(QString);
void fileOrFolderRenamed(QString, QString);
void fileDeleted(QString);
void projectCreateRequested(QString, QString, bool, bool);
void projectEditRequested(QString, QString, bool, bool);
void projectOpenRequested(QString);
};
#endif // FILEBROWSER_H

49
include/git.h Normal file
View file

@ -0,0 +1,49 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef GIT_H
#define GIT_H
#include <QObject>
#include "settings.h"
class Git : public QObject
{
Q_OBJECT
public:
explicit Git(Settings * settings, QObject *parent = nullptr);
bool isCommandSafe(QString command);
void showStatus(QString path);
void showLog(QString path);
void showLastCommitDiffTree(QString path);
void showUncommittedDiffAll(QString path);
void showUncommittedDiffCurrent(QString path, QString fileName);
void showLastCommitDiffAll(QString path);
void showLastCommitDiffCurrent(QString path, QString fileName);
void resetAll(QString path);
void resetCurrent(QString path, QString fileName);
void resetHardUncommitted(QString path);
void resetHardToPreviousCommit(QString path);
void revertLastCommit(QString path);
void addAll(QString path);
void addCurrent(QString path, QString fileName);
void commit(QString path, QString msg);
void pushOriginMaster(QString path);
void pullOriginMaster(QString path);
QString highlightCommand(QString & text);
QString highlightOutput(QString & output);
protected:
QString cmdTpl;
QString lineTpl;
QString errorTpl;
QString msgTpl;
QString infoTpl;
signals:
void runGitCommand(QString path, QString command, QStringList attrs);
public slots:
};
#endif // GIT_H

26
include/helpdialog.h Normal file
View file

@ -0,0 +1,26 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef HELPDIALOG_H
#define HELPDIALOG_H
#include "ui_helpdialog.h"
#include <QDialog>
class HelpDialog : public QDialog
{
Q_OBJECT
public:
explicit HelpDialog(QWidget *parent = 0);
~HelpDialog();
void shortcutsContent();
void aboutContent();
private:
Ui::HelpDialog *ui;
};
#endif // HELPDIALOG_H

47
include/helper.h Normal file
View file

@ -0,0 +1,47 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef HELPER_H
#define HELPER_H
#include <QString>
extern const QString APPLICATION_NAME;
extern const QString APPLICATION_VERSION;
extern const QString ORGANIZATION_NAME;
extern const QString AUTHOR_EMAIL_USERNAME;
extern const QString AUTHOR_EMAIL_DOMAIN;
extern const QString AUTHOR_CARD_URL;
extern const QString AUTHOR_CARD_ID;
extern const QString AUTHOR_CMS_URL;
class Helper
{
public:
static QString loadFile(QString path, std::string encoding, std::string fallbackEncoding, bool silent = false);
static QString loadTextFile(QString path, std::string encoding, std::string fallbackEncoding, bool silent = false);
static bool saveTextFile(QString path, const QString & text, std::string encoding);
static bool createFile(QString path);
static bool createDir(QString path);
static bool deleteFile(QString path);
static bool deleteFolder(QString path);
static bool renameFile(QString path, QString newpath);
static bool renameDir(QString path, QString newpath);
static bool renameFileOrFolder(QString path, QString newpath);
static bool copyFile(QString path, QString newpath);
static bool fileExists(QString path);
static bool folderExists(QString path);
static bool fileOrFolderExists(QString path);
static QString intToStr(int n);
static QString doubleToStr(double n);
static QString stripScopedText(QString scopedText);
static void log(int n);
static void log(QString str);
static void log(const char * str);
static void log(std::string str);
};
#endif // HELPER_H

34
include/helpwords.h Normal file
View file

@ -0,0 +1,34 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef HELPWORDS_H
#define HELPWORDS_H
#include <QObject>
#include <QString>
#include <unordered_map>
class HelpWords : public QObject
{
Q_OBJECT
public:
HelpWords();
void reload();
void reset();
QString findHelpFile(QString name);
std::unordered_map<std::string, std::string> phpFunctionDescs;
std::unordered_map<std::string, std::string>::iterator phpFunctionDescsIterator;
std::unordered_map<std::string, std::string> phpClassMethodDescs;
std::unordered_map<std::string, std::string>::iterator phpClassMethodDescsIterator;
std::unordered_map<std::string, std::string> phpFiles;
std::unordered_map<std::string, std::string>::iterator phpFilesIterator;
protected:
void loadPHPWords();
public slots:
void load();
};
#endif // HELPWORDS_H

331
include/highlight.h Normal file
View file

@ -0,0 +1,331 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef HIGHLIGHT_H
#define HIGHLIGHT_H
#include "settings.h"
#include "highlightdata.h"
#include "highlightwords.h"
extern const std::string MODE_PHP;
extern const std::string MODE_JS;
extern const std::string MODE_CSS;
extern const std::string MODE_HTML;
extern const std::string MODE_MIXED;
extern const std::string MODE_UNKNOWN;
extern const int STATE_NONE;
extern const int STATE_COMMENT_ML_CSS;
extern const int STATE_COMMENT_ML_JS;
extern const int STATE_COMMENT_SL_JS;
extern const int STATE_COMMENT_ML_PHP;
extern const int STATE_COMMENT_SL_PHP;
extern const int STATE_COMMENT_ML_HTML;
extern const int STATE_STRING_SQ_HTML;
extern const int STATE_STRING_DQ_HTML;
extern const int STATE_STRING_SQ_JS;
extern const int STATE_STRING_DQ_JS;
extern const int STATE_STRING_SQ_PHP;
extern const int STATE_STRING_DQ_PHP;
extern const int STATE_STRING_HEREDOC;
extern const int STATE_STRING_NOWDOC;
extern const int STATE_STRING_SQ_CSS;
extern const int STATE_STRING_DQ_CSS;
extern const int STATE_TAG;
extern const int STATE_REGEXP_JS;
class Highlight : public QObject
{
Q_OBJECT
public:
Highlight(Settings * settings, HighlightWords * HW, QTextDocument * parent);
~Highlight();
void rehighlight();
void rehighlightBlock(QTextBlock & block);
void highlightChanges(QTextCursor curs);
void updateBlocks(int lastBlockNumber);
void resetMode();
void initMode(QString ext, int lastBlockNumber);
std::string getModeType();
std::string getMode();
std::string findModeAtCursor(QTextBlock * block, int pos);
int findStateAtCursor(QTextBlock * block, int pos);
bool isStateOpen(QTextBlock * block, int pos);
QString findNsPHPAtCursor(QTextBlock * block, int pos);
QString findClsPHPAtCursor(QTextBlock * block, int pos);
QString findFuncPHPAtCursor(QTextBlock * block, int pos);
QString findFuncJSAtCursor(QTextBlock * block, int pos);
QString findMediaCSSAtCursor(QTextBlock * block, int pos);
QString findTagChainHTMLAtCursor(QTextBlock * block, int pos);
QStringList getKnownVars(QString clsName, QString funcName);
QStringList getUsedVars(QString clsName, QString funcName);
QStringList getKnownFunctions(QString clsName = "");
int getKnownVarPosition(QString clsName, QString funcName, QString varName);
int getKnownVarBlockNumber(QString clsName, QString funcName, QString varName);
void setHighlightVarsMode(bool varsMode);
void setFirstRunMode(bool runMode);
bool isDirty();
std::unordered_map<std::string, int> unusedVars;
std::unordered_map<std::string, int>::iterator unusedVarsIterator;
protected:
void highlightBlock(QTextBlock & block, bool markDirty = true);
void setFormat(int start, int count, const QTextCharFormat &format);
QTextCharFormat format(int pos) const;
void applyFormatChanges(bool markDirty = true);
bool parseBlock(const QString & text);
void reset();
void addSpecialChar(QChar c, int pos);
void addSpecialWord(QString w, int pos);
void restoreState();
void highlightString(int start, int length, const QTextCharFormat format);
void highlightChar(int start, const QTextCharFormat format);
void changeBlockState();
bool detectMode(const QChar & c, int pos, bool isWSpace, bool isLast);
bool detectModeOpen(const QChar & c, int pos, bool isWSpace, bool isLast);
bool detectModeClose(const QChar & c, int pos, bool isWSpace);
bool detectTag(const QChar c, int pos);
bool detectCommentHTML(const QChar c);
bool detectStringSQHTML(const QChar c, int pos);
bool detectStringDQHTML(const QChar c, int pos);
bool detectStringSQCSS(const QChar c, int pos);
bool detectStringDQCSS(const QChar c, int pos);
bool detectStringSQJS(const QChar c, int pos);
bool detectStringDQJS(const QChar c, int pos);
bool detectStringSQPHP(const QChar c, int pos);
bool detectStringDQPHP(const QChar c, int pos);
bool detectRegexpJS(const QChar c, int pos, bool isWSPace, bool isAlnum);
bool detectMLCommentCSS(const QChar c, int pos);
bool detectMLCommentJS(const QChar c, int pos);
bool detectMLCommentPHP(const QChar c, int pos);
bool detectSLCommentJS(const QChar c, int pos);
bool detectSLCommentPHP(const QChar c, int pos);
bool detectStringBPHP(const QChar c, int pos, bool isAlpha, bool isAlnum, bool isLast);
int detectKeywordJS(QChar c, int pos, bool isAlpha, bool isAlnum, bool isLast);
int detectKeywordPHP(QChar c, int pos, bool isAlpha, bool isAlnum, bool isLast, bool forceDetect);
int detectKeywordCSS(QChar c, int pos, bool isAlpha, bool isAlnum, bool isLast);
int detectKeywordHTML(QChar c, int pos, bool isAlpha, bool isAlnum, bool isLast);
bool detectExpressionPHP(const QChar c, int pos);
bool detectExpressionJS(const QChar c, int pos);
bool parseMode(const QChar & c, int pos, bool isWSpace, bool isLast, std::string & pMode, int & pState);
void parseHTML(const QChar & c, int pos, bool isAlpha, bool isAlnum, bool isLast);
void parseCSS(const QChar & c, int pos, bool isAlpha, bool isAlnum, bool isWSpace, bool isLast, int & keywordCSSStartPrev, int & keywordCSSLengthPrev, bool & cssValuePart);
void parseJS(const QChar & c, int pos, bool isAlpha, bool isAlnum, bool isWSpace, bool isLast, int & keywordJSStartPrev, int & keywordJSLengthPrev);
void parsePHP(const QChar c, int pos, bool isAlpha, bool isAlnum, bool isWSpace, bool isLast, int & keywordPHPStartPrev, int & keywordPHPLengthPrev);
void updateState(const QChar & c, int pos, int & pState);
void openBlockDataLists();
void closeBlockDataLists(int textSize);
void highlightUnderline();
private:
QTextDocument * doc;
QVector<QTextCharFormat> formatChanges;
HighlightWords * HW;
bool highlightSpaces;
bool highlightTabs;
bool dirty;
std::unordered_map<std::string, std::string> modeTypes;
std::unordered_map<std::string, std::string>::iterator modeTypesIterator;
std::unordered_map<std::string, std::string> variables;
std::unordered_map<std::string, std::string>::iterator variablesIterator;
std::unordered_map<std::string, std::string> usedVariables;
std::unordered_map<std::string, std::string>::iterator usedVariablesIterator;
std::unordered_map<std::string, std::string> clsProps;
std::unordered_map<std::string, std::string>::iterator clsPropsIterator;
std::unordered_map<std::string, std::string> knownVars;
std::unordered_map<std::string, std::string>::iterator knownVarsIterator;
std::unordered_map<std::string, int> knownVarsBlocks;
std::unordered_map<std::string, int>::iterator knownVarsBlocksIterator;
std::unordered_map<std::string, int> knownVarsPositions;
std::unordered_map<std::string, int>::iterator knownVarsPositionsIterator;
std::unordered_map<std::string, std::string> usedVars;
std::unordered_map<std::string, std::string>::iterator usedVarsIterator;
std::unordered_map<std::string, std::string> knownFunctions;
std::unordered_map<std::string, std::string>::iterator knownFunctionsIterator;
QVector<QChar> specialChars;
QVector<int> specialCharsPos;
QVector<QString> specialWords;
QVector<int> specialWordsPos;
bool enabled;
QTextBlock cBlock;
HighlightData * blockData;
std::string modeType;
std::string mode;
std::string prevMode;
QVector<int> modeStarts;
QVector<int> modeEnds;
QVector<std::string> modeTags;
QVector<int> stateStarts;
QVector<int> stateEnds;
QVector<int> stateIds;
QString stringBlock;
QString stringBstring;
int state;
int prevState;
int prevPrevState;
unsigned long int block_state;
QString modeString;
QString modeStringC;
std::string modeExpect;
std::string modeExpectC;
bool modeSkip;
bool modeSkipC;
int modeSpos;
int modeCpos;
int modeCposed;
QString prevModeString;
QString prevModeStringC;
std::string prevModeExpect;
std::string prevModeExpectC;
bool prevModeSkip;
bool prevModeSkipC;
int prevModeSpos;
int prevModeCpos;
int tagOpened;
int commentHTMLOpened;
int stringSQOpenedHTML;
int stringDQOpenedHTML;
int stringSQOpenedCSS;
int stringDQOpenedCSS;
int stringSQOpenedJS;
int stringDQOpenedJS;
int stringSQOpenedPHP;
int stringDQOpenedPHP;
int stringBOpened;
int stringBStart;
int stringBExpect;
int commentSLOpenedJS;
int commentMLOpenedJS;
int commentSLOpenedPHP;
int commentMLOpenedPHP;
int commentMLOpenedCSS;
QString stringEscStringCSS;
QString stringEscStringJS;
QString prevStringEscStringCSS;
QString prevStringEscStringJS;
QString stringEscStringPHP;
QString commentHTMLString;
QString commentJSStringML;
QString commentPHPStringML;
QString commentJSStringSL;
QString commentPHPStringSL;
QString commentCSSStringML;
int regexpOpenedJS;
QString regexpEscStringJS;
QString prevRegexpEscStringJS;
QString regexpPrevCharJS;
QString keywordStringJS;
QString keywordStringCSS;
QString keywordStringPHP;
QString keywordStringHTML;
int keywordJSOpened;
int keywordCSSOpened;
int keywordPHPOpened;
int keywordHTMLOpened;
int exprOpenedPHP;
int exprOpenedJS;
QString exprEscStringPHP;
QString exprEscStringJS;
QString prevExprEscStringJS;
QString keywordJSprevChar;
QString keywordCSSprevChar;
QString keywordCSSprevPrevChar;
QString keywordPHPprevChar;
QString keywordPHPprevPrevChar;
QString keywordPHPprevString;
QString keywordPHPprevStringPrevChar;
QString keywordJSprevString;
QString keywordJSprevStringPrevChar;
QString stringEscVariablePHP;
QString keywordHTMLprevChar;
QString keywordHTMLprevPrevChar;
int keywordPHPScopedOpened;
bool keywordPHPScoped;
int keywordJSScopedOpened;
bool keywordJSScoped;
QString stringEscVariableJS;
QString prevStringEscVariableJS;
int bracesCSS;
int bracesJS;
int bracesPHP;
int parensCSS;
int parensJS;
int parensPHP;
bool cssMediaScope;
int underlineStart;
int underlineEnd;
QString nsNamePHP;
QList<int> nsScopeChainPHP;
QString nsChainPHP;
QVector<int> nsStartsPHP;
QVector<int> nsEndsPHP;
QVector<QString> nsNamesPHP;
QString clsNamePHP;
QList<int> clsScopeChainPHP;
QString clsChainPHP;
QVector<int> clsStartsPHP;
QVector<int> clsEndsPHP;
QVector<QString> clsNamesPHP;
QString funcNamePHP;
QList<int> funcScopeChainPHP;
QString funcChainPHP;
QVector<int> funcStartsPHP;
QVector<int> funcEndsPHP;
QVector<QString> funcNamesPHP;
QString expectedNsNamePHP;
QString expectedClsNamePHP;
QString expectedFuncNamePHP;
int expectedFuncParsPHP;
QStringList expectedFuncArgsPHP;
QVector<int> expectedFuncArgsPHPPositions;
QVector<int> expectedFuncArgsPHPBlocks;
int nsScopePHP;
int clsScopePHP;
int funcScopePHP;
QStringList varsChainsPHP;
QStringList usedVarsChainsPHP;
QString varsGlobChainPHP;
QString usedVarsGlobChainPHP;
QString varsClsChainPHP;
QString varsChainPHP;
QString usedVarsChainPHP;
bool clsOpenPHP;
QVector<bool> clsOpensPHP;
QString varsClsOpenChainPHP;
QStringList clsPropsChainPHP;
QString funcNameJS;
QList<int> funcScopeChainJS;
QString funcChainJS;
QVector<int> funcStartsJS;
QVector<int> funcEndsJS;
QVector<QString> funcNamesJS;
QString expectedFuncNameJS;
QString expectedFuncVarJS;
int expectedFuncParsJS;
int funcScopeJS;
QString mediaNameCSS;
QVector<int> mediaStartsCSS;
QVector<int> mediaEndsCSS;
QVector<QString> mediaNamesCSS;
QString expectedMediaNameCSS;
int expectedMediaParsCSS;
int mediaScopeCSS;
QString tagChainHTML;
QVector<int> tagChainStartsHTML;
QVector<int> tagChainEndsHTML;
QVector<QString> tagChainsHTML;
bool highlightVarsMode;
bool firstRunMode;
bool rehighlightBlockMode;
int lastVisibleBlockNumber;
signals:
void progressChanged(int percent);
};
#endif // HIGHLIGHT_H

128
include/highlightdata.h Normal file
View file

@ -0,0 +1,128 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef HIGHLIGHTDATA_H
#define HIGHLIGHTDATA_H
#include <QTextBlockUserData>
class HighlightData : public QTextBlockUserData
{
public:
HighlightData();
~HighlightData();
void reset();
QString stringBlock;
QString mode;
QString prevMode;
QString modeExpect;
QString modeExpectC;
QString modeString;
QString modeStringC;
QString prevModeExpect;
QString prevModeString;
QString prevModeExpectC;
QString prevModeStringC;
bool prevModeSkip;
bool prevModeSkipC;
int state;
int prevState;
int prevPrevState;
QString stringEscStringCSS;
QString stringEscStringJS;
QString regexpEscStringJS;
int bracesCSS;
int bracesJS;
int bracesPHP;
int parensCSS;
int parensJS;
int parensPHP;
bool cssMediaScope;
bool keywordPHPScoped;
bool keywordJSScoped;
QString exprEscStringJS;
QString stringEscVariableJS;
QVector<QChar> specialChars;
QVector<int> specialCharsPos;
QVector<QString> specialWords;
QVector<int> specialWordsPos;
QVector<int> modeStarts;
QVector<int> modeEnds;
QVector<std::string> modeTags;
QVector<int> stateStarts;
QVector<int> stateEnds;
QVector<int> stateIds;
int underlineStart;
int underlineEnd;
bool hasMarkPoint;
QString nsNamePHP;
QList<int> nsScopeChainPHP;
QString nsChainPHP;
QVector<int> nsStartsPHP;
QVector<int> nsEndsPHP;
QVector<QString> nsNamesPHP;
QString clsNamePHP;
QList<int> clsScopeChainPHP;
QString clsChainPHP;
QVector<int> clsStartsPHP;
QVector<int> clsEndsPHP;
QVector<QString> clsNamesPHP;
QString funcNamePHP;
QList<int> funcScopeChainPHP;
QString funcChainPHP;
QVector<int> funcStartsPHP;
QVector<int> funcEndsPHP;
QVector<QString> funcNamesPHP;
QString expectedNsNamePHP;
QString expectedClsNamePHP;
QString expectedFuncNamePHP;
int expectedFuncParsPHP;
QStringList expectedFuncArgsPHP;
QVector<int> expectedFuncArgsPHPPositions;
QVector<int> expectedFuncArgsPHPBlocks;
int nsScopePHP;
int clsScopePHP;
int funcScopePHP;
QStringList varsChainsPHP;
QStringList usedVarsChainsPHP;
QString varsGlobChainPHP;
QString usedVarsGlobChainPHP;
QString varsClsChainPHP;
QString varsChainPHP;
QString usedVarsChainPHP;
bool clsOpenPHP;
QVector<bool> clsOpensPHP;
QString varsClsOpenChainPHP;
QStringList clsPropsChainPHP;
QString funcNameJS;
QList<int> funcScopeChainJS;
QString funcChainJS;
QVector<int> funcStartsJS;
QVector<int> funcEndsJS;
QVector<QString> funcNamesJS;
QString expectedFuncNameJS;
QString expectedFuncVarJS;
int expectedFuncParsJS;
int funcScopeJS;
QString mediaNameCSS;
QVector<int> mediaStartsCSS;
QVector<int> mediaEndsCSS;
QVector<QString> mediaNamesCSS;
QString expectedMediaNameCSS;
int expectedMediaParsCSS;
int mediaScopeCSS;
QString tagChainHTML;
QVector<int> tagChainStartsHTML;
QVector<int> tagChainEndsHTML;
QVector<QString> tagChainsHTML;
QString keywordPHPprevString;
QString keywordPHPprevStringPrevChar;
QString keywordJSprevString;
QString keywordJSprevStringPrevChar;
bool wantUpdate;
};
#endif // HIGHLIGHTDATA_H

71
include/highlightwords.h Normal file
View file

@ -0,0 +1,71 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef HIGHLIGHTWORDS_H
#define HIGHLIGHTWORDS_H
#include <QObject>
#include <unordered_map>
#include <QTextCharFormat>
#include "settings.h"
class HighlightWords : public QObject
{
Q_OBJECT
public:
HighlightWords(Settings * settings);
void reload();
void reset();
void addPHPClass(QString k);
void addPHPFunction(QString k);
void addPHPVariable(QString k);
void addJSFunction(QString k);
void addCSSProperty(QString k);
void addHTMLTag(QString k);
void addHTMLShortTag(QString k);
QTextCharFormat keywordFormat;
QTextCharFormat classFormat;
QTextCharFormat variableFormat;
QTextCharFormat knownVariableFormat;
QTextCharFormat unusedVariableFormat;
QTextCharFormat singleLineCommentFormat;
QTextCharFormat multiLineCommentFormat;
QTextCharFormat stringFormat;
QTextCharFormat functionFormat;
QTextCharFormat knownFunctionFormat;
QTextCharFormat phpTagFormat;
QTextCharFormat tagFormat;
QTextCharFormat tagNameFormat;
QTextCharFormat selectorFormat;
QTextCharFormat selectorTagFormat;
QTextCharFormat propertyFormat;
QTextCharFormat pseudoClassFormat;
QTextCharFormat cssSpecialFormat;
QTextCharFormat knownFormat;
QTextCharFormat expressionFormat;
QTextCharFormat spaceFormat;
QTextCharFormat tabFormat;
std::unordered_map<std::string, QTextCharFormat> phpwords;
std::unordered_map<std::string, QTextCharFormat>::iterator phpwordsIterator;
std::unordered_map<std::string, QTextCharFormat> phpwordsCS;
std::unordered_map<std::string, QTextCharFormat>::iterator phpwordsCSIterator;
std::unordered_map<std::string, QTextCharFormat> jswordsCS;
std::unordered_map<std::string, QTextCharFormat>::iterator jswordsCSIterator;
std::unordered_map<std::string, QTextCharFormat> csswords;
std::unordered_map<std::string, QTextCharFormat>::iterator csswordsIterator;
std::unordered_map<std::string, QTextCharFormat> htmlwords;
std::unordered_map<std::string, QTextCharFormat>::iterator htmlwordsIterator;
std::unordered_map<std::string, QTextCharFormat> htmlshorts;
std::unordered_map<std::string, QTextCharFormat>::iterator htmlshortsIterator;
protected:
void loadPHPWords();
void loadJSWords();
void loadCSSWords();
public slots:
void load();
};
#endif // HIGHLIGHTWORDS_H

43
include/linemap.h Normal file
View file

@ -0,0 +1,43 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef LINEMAP_H
#define LINEMAP_H
#include <QWidget>
#include "editor.h"
class LineMap : public QWidget
{
Q_OBJECT
public:
explicit LineMap(Editor * codeEditor);
QSize sizeHint() const override;
void addMark(int line);
QVector<int> getMarks();
void clearMarks();
void addError(int line);
QVector<int> getErrors();
void clearErrors();
void addWarning(int line);
QVector<int> getWarnings();
void clearWarnings();
void clear();
protected:
void paintEvent(QPaintEvent *event) override;
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
private:
Editor * editor;
QVector<int> marks;
QVector<int> errors;
QVector<int> warnings;
signals:
public slots:
};
#endif // LINEMAP_H

49
include/linemark.h Normal file
View file

@ -0,0 +1,49 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef LINEMARK_H
#define LINEMARK_H
#include <QWidget>
#include "editor.h"
class LineMark : public QWidget
{
Q_OBJECT
public:
explicit LineMark(Editor * codeEditor);
QSize sizeHint() const override;
void addMark(int line, QString text = "");
int getMark(int line, QString & text);
void clearMarks();
void addError(int line, QString text = "");
int getError(int line, QString & text);
void clearErrors();
void addWarning(int line, QString text = "");
int getWarning(int line, QString & text);
void clearWarnings();
void clear();
int getErrorsCount();
int getWarningsCount();
int getMarksCount();
protected:
void paintEvent(QPaintEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void mousePressEvent(QMouseEvent *event) override;
private:
Editor * editor;
std::unordered_map<int, std::string> marks;
std::unordered_map<int, std::string>::iterator marksIterator;
std::unordered_map<int, std::string> errors;
std::unordered_map<int, std::string>::iterator errorsIterator;
std::unordered_map<int, std::string> warnings;
std::unordered_map<int, std::string>::iterator warningsIterator;
signals:
public slots:
};
#endif // LINEMARK_H

29
include/linenumber.h Normal file
View file

@ -0,0 +1,29 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef LINENUMBER_H
#define LINENUMBER_H
#include <QWidget>
#include "editor.h"
class LineNumber : public QWidget
{
Q_OBJECT
public:
explicit LineNumber(Editor * editor);
~LineNumber();
QSize sizeHint() const override;
protected:
void paintEvent(QPaintEvent *event) override;
private:
Editor * editor;
signals:
public slots:
};
#endif // LINENUMBER_H

233
include/mainwindow.h Normal file
View file

@ -0,0 +1,233 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QProgressBar>
#include <QTreeWidgetItem>
#include <QThread>
#include "settings.h"
#include "highlightwords.h"
#include "completewords.h"
#include "parserworker.h"
#include "filebrowser.h"
#include "editortabs.h"
#include "navigator.h"
#include "helpwords.h"
#include "project.h"
#include "git.h"
#include "quickaccess.h"
#include "types.h"
namespace Ui {
class MainWindow;
class CreateFileDialog;
class CreateFolderDialog;
class CreateProjectDialog;
class EditProjectDialog;
class SearchDialog;
class SettingsDialog;
class HelpDialog;
}
Q_DECLARE_METATYPE(ParsePHP::ParseResult)
Q_DECLARE_METATYPE(ParseJS::ParseResult)
Q_DECLARE_METATYPE(ParseCSS::ParseResult)
Q_DECLARE_METATYPE(WordsMapList)
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
static int const EXIT_CODE_RESTART;
protected:
void closeEvent(QCloseEvent *event) override;
void dragEnterEvent(QDragEnterEvent *event) override;
void dropEvent(QDropEvent* event) override;
void mousePressEvent(QMouseEvent *e) override;
void resizeEvent(QResizeEvent *event) override;
void setWindowTitleText(QString text);
void disableActionsForEmptyTabs();
void enableActionsForOpenTabs();
void disableActionsForEmptyProject();
void enableActionsForOpenProject();
QString getTmpDirPath();
void clearMessagesTabText();
void addMessagesTabText(QString text);
void clearHelpTabSource();
void setHelpTabSource(QString path);
void scrollMessagesTabToTop();
void parseTab();
void reloadWords();
QString getGitWorkingDir();
void runServersCommand(QString command, QString pwd, QString description);
void compileSass(QString src, QString dst);
void applyThemeColors();
public slots:
void setStatusBarText(QString text);
void editorShowLine(int line);
void editorShowLineSymbol(int line, int symbol);
void restartApp();
private slots:
void on_actionOpenFile_triggered();
void on_actionNewFile_triggered();
void on_actionNewFolder_triggered();
void on_actionNewProject_triggered();
void on_actionOpenProject_triggered();
void on_actionUpdateProject_triggered();
void on_actionRescanProject_triggered();
void on_actionCloseProject_triggered();
void on_actionEditProject_triggered();
void on_actionSave_triggered();
void on_actionSaveAll_triggered();
void on_actionSaveAs_triggered();
void on_actionClose_triggered();
void on_actionQuit_triggered();
void on_actionUndo_triggered();
void on_actionRedo_triggered();
void on_actionBack_triggered();
void on_actionForward_triggered();
void on_actionFindReplace_triggered();
void on_actionColorPicker_triggered();
void on_actionSearchInFiles_triggered();
void on_actionGitStatus_triggered();
void on_actionGitLog_triggered();
void on_actionGitDiffTree_triggered();
void on_actionGitDiffAll_triggered();
void on_actionGitDiffCurrent_triggered();
void on_actionGitDiffAllCommit_triggered();
void on_actionGitDiffCurrentCommit_triggered();
void on_actionGitDiscardChanges_triggered();
void on_actionGitDiscardCommit_triggered();
void on_actionGitRevert_triggered();
void on_actionGitResetAll_triggered();
void on_actionGitResetCurrent_triggered();
void on_actionGitAddAll_triggered();
void on_actionGitAddCurrent_triggered();
void on_actionGitCommit_triggered();
void on_actionGitPush_triggered();
void on_actionGitPull_triggered();
void on_actionStartServers_triggered();
void on_actionStopServers_triggered();
void on_actionServersStatus_triggered();
void on_actionShowHideSidebar_triggered();
void on_actionShowHideToolbar_triggered();
void on_actionShowHideOutput_triggered();
void on_actionQuickAccess_triggered();
void on_actionSettings_triggered();
void on_actionHelpShortcuts_triggered();
void on_actionHelpAbout_triggered();
void on_actionHelpContact_triggered();
void on_actionHelpDonate_triggered();
void on_actionHelpZiraCMS_triggered();
void on_actionCompileSass_triggered();
void editorSearchInFilesRequested(QString text);
void editorActionsChanged();
void editorUndoRedoChanged();
void editorBackForwardChanged();
void progressChanged(int v);
void sidebarProgressChanged(int v);
void editorFilenameChanged(QString name);
void editorTabOpened(int index);
void editorTabSwitched(int index);
void editorTabClosed(int index);
void editorModifiedStateChanged(bool m);
void editorSaved(int index);
void editorReady(int index);
void parseLintFinished(int tabIndex, QStringList errorTexts, QStringList errorLines, QString output);
void parsePHPCSFinished(int tabIndex, QStringList errorTexts, QStringList errorLines);
void parseMixedFinished(int tabIndex, ParsePHP::ParseResult result);
void parseJSFinished(int tabIndex, ParseJS::ParseResult result);
void parseCSSFinished(int tabIndex, ParseCSS::ParseResult result);
void parseProjectFinished();
void projectCreateRequested(QString name, QString path, bool lintEnabled, bool csEnabled);
void projectEditRequested(QString name, QString path, bool lintEnabled, bool csEnabled);
void projectOpenRequested(QString path);
void openTabsRequested(QStringList files, bool initHighlight);
void gotoTabLinesRequested(QList<int> lines);
void showTodoRequested(QString text);
void switchToTabRequested(int index);
void closeAllTabsRequested(void);
void projectLoadOnStart(void);
void editorShowDeclaration(QString name);
void editorShowHelp(QString name);
void helpBrowserAnchorClicked(QUrl url);
void messagesBrowserAnchorClicked(QUrl url);
void editorParsePHPRequested(int index, QString text);
void menuEditOnShow();
void menuViewOnShow();
void menuToolsOnShow();
void searchInFilesFound(QString file, QString lineText, int line, int symbol);
void searchInFilesFinished();
void searchListItemDoubleClicked(QListWidgetItem * item);
void outputDockLocationChanged(Qt::DockWidgetArea area);
void sidebarDockLocationChanged(Qt::DockWidgetArea area);
void toolbarOrientationChanged(Qt::Orientation orientation);
void workerMessage(QString text);
void runGitCommand(QString path, QString command, QStringList attrs);
void gitCommandFinished(QString output);
void serversCommandFinished(QString output);
void sassCommandFinished(QString output);
void editorFocused();
void showQAPanel();
void hideQAPanel();
void quickAccessRequested(QString file, int line);
void quickFindRequested(QString text);
private:
Ui::MainWindow *ui;
Settings * settings;
HighlightWords * highlightWords;
CompleteWords * completeWords;
HelpWords * helpWords;
QProgressBar * progressBar;
ParserWorker * parserWorker;
QThread parserThread;
FileBrowser * filebrowser;
Navigator * navigator;
EditorTabs * editorTabs;
Project * project;
Git * git;
QString outputMsgErrorTpl;
QString outputMsgWarningTpl;
int outputMsgCount;
QRegularExpression phpManualHeaderExpr;
QRegularExpression phpManualBreadcrumbsExpr;
QString lastSearchText;
QString lastSearchExtensions;
QColor searchResultsColor;
QColor outputColor;
QColor outputBgColor;
QString colorSheme;
QString theme;
bool parsePHPLintEnabled;
bool parsePHPCSEnabled;
bool parsePHPEnabled;
bool parseJSEnabled;
bool parseCSSEnabled;
bool gitCommandsEnabled;
bool serverCommandsEnabled;
QuickAccess * qa;
signals:
void disableWorker();
void parseLint(int tabIndex, QString path);
void parsePHPCS(int tabIndex, QString path);
void parseMixed(int tabIndex, QString content);
void parseJS(int tabIndex, QString content);
void parseCSS(int tabIndex, QString content);
void parseProject(QString path);
void searchInFiles(QString searchDirectory, QString searchText, QString searchExtensions, bool searchOptionCase, bool searchOptionWord, bool searchOptionRegexp);
void gitCommand(QString path, QString command, QStringList attrs);
void serversCommand(QString command, QString pwd);
void sassCommand(QString src, QString dst);
void quickFind(QString dir, QString text, WordsMapList words, QStringList wordPrefixes);
};
#endif // MAINWINDOW_H

39
include/navigator.h Normal file
View file

@ -0,0 +1,39 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef NAVIGATOR_H
#define NAVIGATOR_H
#include <QObject>
#include <QTreeWidget>
#include "settings.h"
#include "parsephp.h"
#include "parsejs.h"
#include "parsecss.h"
class Navigator : public QObject
{
Q_OBJECT
public:
explicit Navigator(QTreeWidget * widget, Settings * settings);
~Navigator();
void build(ParsePHP::ParseResult result);
void build(ParseJS::ParseResult result);
void build(ParseCSS::ParseResult result);
void clear();
protected:
private:
QTreeWidget * treeWidget;
signals:
void showLine(int line);
private slots:
void navigatorDoubleClicked(QTreeWidgetItem * item, int column);
void navigatorExpanded(QTreeWidgetItem * item);
void navigatorCollapsed(QTreeWidgetItem * item);
};
#endif // NAVIGATOR_H

28
include/parse.h Normal file
View file

@ -0,0 +1,28 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef PARSE_H
#define PARSE_H
#include <QRegularExpression>
class Parse
{
public:
Parse();
virtual void prepare(QString & text);
virtual QString strip(QRegularExpressionMatch & match, QString & text, int group);
virtual int getLine(QString & text, int offset);
virtual QString getLineText(QString & text, int offset);
virtual int getFirstNotEmptyLineTo(QString & text, int offset);
protected:
QRegularExpression stringDQExpression;
QRegularExpression stringSQExpression;
QRegularExpression commentMLExpression;
QRegularExpression backtickExpression;
};
#endif // PARSE_H

83
include/parsecss.h Normal file
View file

@ -0,0 +1,83 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef PARSECSS_H
#define PARSECSS_H
#include "parse.h"
#include <QVector>
#include <unordered_map>
class ParseCSS : public Parse
{
public:
ParseCSS();
struct ParseResultSelector {
QString name;
int line;
};
struct ParseResultMedia {
QString name;
int line;
};
struct ParseResultKeyframe {
QString name;
int line;
};
struct ParseResultFont {
QString name;
int line;
};
struct ParseResultComment {
QString name;
QString text;
int line;
};
struct ParseResult
{
QVector<ParseResultSelector> selectors;
QVector<ParseResultMedia> medias;
QVector<ParseResultKeyframe> keyframes;
QVector<ParseResultFont> fonts;
QVector<ParseResultComment> comments;
};
ParseCSS::ParseResult parse(QString text);
static std::unordered_map<std::string, std::string> mainTags;
protected:
void reset();
QString cleanUp(QString text);
bool isValidName(QString name);
void addSelector(QString name, int line);
void addMedia(QString name, int line);
void addKeyframe(QString name, int line);
void addFont(QString name, int line);
void addComment(QString text, int line);
void parseCode(QString & code, QString & origText);
private:
ParseCSS::ParseResult result;
QRegularExpression parseExpression;
QRegularExpression nameExpression;
std::unordered_map<std::string, std::string>::iterator mainTagsIterator;
std::unordered_map<std::string, int> selectorIndexes;
std::unordered_map<std::string, int>::iterator selectorIndexesIterator;
std::unordered_map<std::string, int> mediaIndexes;
std::unordered_map<std::string, int>::iterator mediaIndexesIterator;
std::unordered_map<std::string, int> keyframeIndexes;
std::unordered_map<std::string, int>::iterator keyframeIndexesIterator;
std::unordered_map<std::string, int> fontIndexes;
std::unordered_map<std::string, int>::iterator fontIndexesIterator;
std::unordered_map<int, std::string> comments;
std::unordered_map<int, std::string>::iterator commentsIterator;
};
#endif // PARSECSS_H

100
include/parsejs.h Normal file
View file

@ -0,0 +1,100 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef PARSEJS_H
#define PARSEJS_H
#include "parse.h"
#include <QVector>
#include <unordered_map>
class ParseJS : public Parse
{
public:
ParseJS();
struct ParseResultVariable {
QString name;
QString clsName;
QString funcName;
QString type;
int line;
};
struct ParseResultFunction {
QString name;
QString args;
QString clsName;
bool isGlobal;
int minArgs;
int maxArgs;
QString returnType;
QVector<int> variableIndexes;
QVector<int> constantIndexes;
int line;
QString comment;
};
struct ParseResultConstant {
QString name;
QString clsName;
QString funcName;
QString value;
int line;
};
struct ParseResultClass {
QString name;
QVector<int> functionIndexes;
QVector<int> variableIndexes;
int line;
};
struct ParseResultComment {
QString name;
QString text;
int line;
};
struct ParseResult
{
QVector<ParseResultClass> classes;
QVector<ParseResultFunction> functions;
QVector<ParseResultVariable> variables;
QVector<ParseResultConstant> constants;
QVector<ParseResultComment> comments;
};
ParseJS::ParseResult parse(QString text);
protected:
void reset();
QString cleanUp(QString text);
bool isValidName(QString name);
void parseCode(QString & code, QString & origText);
void addClass(QString name, int line);
void addFunction(QString clsName, QString name, QString args, int minArgs, int maxArgs, bool isGlobal, QString returnType, QString comment, int line);
void updateFunctionReturnType(QString clsName, QString funcName, QString returnType);
void addVariable(QString clsName, QString funcName, QString name, QString type, int line);
void updateVariableType(QString clsName, QString funcName, QString varName, QString type);
void addConstant(QString clsName, QString funcName, QString name, QString value, int line);
void addComment(QString text, int line);
QRegularExpression commentSLExpression;
QRegularExpression regexpExpression;
QRegularExpression parseExpression;
QRegularExpression nameExpression;
private:
ParseJS::ParseResult result;
std::unordered_map<std::string, int> functionIndexes;
std::unordered_map<std::string, int>::iterator functionIndexesIterator;
std::unordered_map<std::string, int> variableIndexes;
std::unordered_map<std::string, int>::iterator variableIndexesIterator;
std::unordered_map<std::string, int> constantIndexes;
std::unordered_map<std::string, int>::iterator constantIndexesIterator;
std::unordered_map<std::string, int> classIndexes;
std::unordered_map<std::string, int>::iterator classIndexesIterator;
std::unordered_map<int, std::string> comments;
std::unordered_map<int, std::string>::iterator commentsIterator;
};
#endif // PARSEJS_H

150
include/parsephp.h Normal file
View file

@ -0,0 +1,150 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef PARSEPHP_H
#define PARSEPHP_H
#include "parse.h"
#include <unordered_map>
#include <QVector>
extern const QString IMPORT_TYPE_CLASS;
extern const QString IMPORT_TYPE_FUNCTION;
extern const QString IMPORT_TYPE_CONSTANT;
class ParsePHP : public Parse
{
public:
ParsePHP();
struct ParseResultVariable {
QString name;
QString clsName;
QString funcName;
bool isStatic;
QString visibility;
QString type;
int line;
};
struct ParseResultFunction {
QString name;
QString args;
QString clsName;
bool isStatic;
bool isAbstract;
QString visibility;
int minArgs;
int maxArgs;
QString returnType;
QVector<int> variableIndexes;
int line;
QString comment;
};
struct ParseResultConstant {
QString name;
QString clsName;
QString value;
int line;
};
struct ParseResultClass {
QString name;
bool isAbstract;
bool isInterface;
bool isTrait;
QString parent;
QStringList interfaces;
QVector<int> functionIndexes;
QVector<int> variableIndexes;
QVector<int> constantIndexes;
int line;
};
struct ParseResultNamespace {
QString name;
QVector<int> importsIndexes;
int line;
};
struct ParseResultImport {
QString name;
QString path;
QString type;
int line;
};
struct ParseResultComment {
QString name;
QString text;
int line;
};
struct ParseResult
{
QVector<ParseResultImport> imports;
QVector<ParseResultNamespace> namespaces;
QVector<ParseResultClass> classes;
QVector<ParseResultFunction> functions;
QVector<ParseResultVariable> variables;
QVector<ParseResultConstant> constants;
QVector<ParseResultComment> comments;
};
ParsePHP::ParseResult parse(QString text);
static std::unordered_map<std::string, std::string> dataTypes;
protected:
void reset();
QString cleanUp(QString text);
bool isValidName(QString name);
void parseCode(QString & code, QString & origText, int textOffset);
QString toAbs(QString ns, QString path, QString type = "");
void addImport(QString nsName, QString name, QString path, QString type, int line);
void addNamespace(QString name, int line);
void addClass(QString name, bool isAbstract, QString extend, QStringList implements, int line);
void addInterface(QString name, QString extend, int line);
void addTrait(QString name, int line);
void addFunction(QString clsName, QString name, QString args, bool isStatic, bool isAbstract, QString visibility, int minArgs, int maxArgs, QString returnType, QString comment, int line);
void updateFunctionReturnType(QString clsName, QString funcName, QString returnType);
void addVariable(QString clsName, QString funcName, QString name, bool isStatic, QString visibility, QString type, int line);
void updateVariableType(QString clsName, QString funcName, QString varName, QString type);
void addConstant(QString clsName, QString name, QString value, int line);
void addComment(QString text, int line);
QRegularExpression phpExpression;
QRegularExpression phpStartExpression;
QRegularExpression phpEndExpression;
QRegularExpression stringHeredocExpression;
QRegularExpression stringHeredocDQExpression;
QRegularExpression stringNowdocExpression;
QRegularExpression commentSLExpression;
QRegularExpression commentSLAExpression;
QRegularExpression parseExpression;
QRegularExpression nameExpression;
private:
std::unordered_map<std::string, std::string> classAliases;
std::unordered_map<std::string, std::string>::iterator classAliasesIterator;
std::unordered_map<std::string, std::string> functionAliases;
std::unordered_map<std::string, std::string>::iterator functionAliasesIterator;
std::unordered_map<std::string, std::string> constantAliases;
std::unordered_map<std::string, std::string>::iterator constantAliasesIterator;
std::unordered_map<std::string, int> functionIndexes;
std::unordered_map<std::string, int>::iterator functionIndexesIterator;
std::unordered_map<std::string, int> variableIndexes;
std::unordered_map<std::string, int>::iterator variableIndexesIterator;
std::unordered_map<std::string, int> constantIndexes;
std::unordered_map<std::string, int>::iterator constantIndexesIterator;
std::unordered_map<std::string, int> namespaceIndexes;
std::unordered_map<std::string, int>::iterator namespaceIndexesIterator;
std::unordered_map<std::string, int> importIndexes;
std::unordered_map<std::string, int>::iterator importIndexesIterator;
std::unordered_map<std::string, int> classIndexes;
std::unordered_map<std::string, int>::iterator classIndexesIterator;
std::unordered_map<int, std::string> comments;
std::unordered_map<int, std::string>::iterator commentsIterator;
std::unordered_map<std::string, std::string>::iterator dataTypesIterator;
ParsePHP::ParseResult result;
};
#endif // PARSEPHP_H

77
include/parserworker.h Normal file
View file

@ -0,0 +1,77 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef PARSERWORKER_H
#define PARSERWORKER_H
#include <QObject>
#include "settings.h"
#include "parsephp.h"
#include "parsejs.h"
#include "parsecss.h"
#include "types.h"
class ParserWorker : public QObject
{
Q_OBJECT
public:
explicit ParserWorker(Settings * settings, QObject *parent = nullptr);
~ParserWorker();
protected:
void parseProjectDir(QString dir, QStringList & files);
void parseProjectFile(QString file, QVariantMap & map);
void searchInDir(QString searchDirectory, QString searchText, QString searchExtensions, bool searchOptionCase, bool searchOptionWord, bool searchOptionRegexp);
void searchInFile(QString file, QString searchText, bool searchOptionCase, bool searchOptionWord, bool searchOptionRegexp);
void searchInFilesResultFound(QString file, QString lineText, int line, int symbol);
void quickFindInDir(QString startDir, QString dir, QString text);
private:
QString phpPath;
QString gitPath;
QString bashPath;
QString sasscPath;
QString phpcsPath;
QString phpcsStandard;
int phpcsErrorSeverity;
int phpcsWarningSeverity;
std::string encoding;
std::string encodingFallback;
bool enabled;
int searchResultsCount;
bool searchBreaked;
bool isBusy;
int quickResultsCount;
bool quickBreaked;
signals:
void lintFinished(int tabIndex, QStringList errorTexts, QStringList errorLines, QString output);
void phpcsFinished(int tabIndex, QStringList errorTexts, QStringList errorLines);
void parseMixedFinished(int tabIndex, ParsePHP::ParseResult result);
void parseJSFinished(int tabIndex, ParseJS::ParseResult result);
void parseCSSFinished(int tabIndex, ParseCSS::ParseResult result);
void parseProjectFinished();
void parseProjectProgress(int v);
void searchInFilesFound(QString file, QString lineText, int line, int symbol);
void searchInFilesFinished();
void message(QString text);
void gitCommandFinished(QString output);
void serversCommandFinished(QString output);
void sassCommandFinished(QString output);
void quickFound(QString text, QString info, QString file, int line);
public slots:
void disable();
void lint(int tabIndex, QString path);
void phpcs(int tabIndex, QString path);
void parseMixed(int tabIndex, QString text);
void parseJS(int tabIndex, QString text);
void parseCSS(int tabIndex, QString text);
void parseProject(QString path);
void searchInFiles(QString searchDirectory, QString searchText, QString searchExtensions, bool searchOptionCase, bool searchOptionWord, bool searchOptionRegexp);
void gitCommand(QString path, QString command, QStringList attrs);
void serversCommand(QString command, QString pwd);
void sassCommand(QString src, QString dst);
void quickFind(QString dir, QString text, WordsMapList words, QStringList wordPrefixes);
};
#endif // PARSERWORKER_H

72
include/project.h Normal file
View file

@ -0,0 +1,72 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef PROJECT_H
#define PROJECT_H
#include <QObject>
#include "parsephp.h"
#include "completewords.h"
#include "highlightwords.h"
#include "helpwords.h"
extern const QString PROJECT_SUBDIR;
class Project : public QObject
{
Q_OBJECT
public:
explicit Project(QObject *parent = nullptr);
bool create(QString name, QString path, bool lintEnabled, bool csEnabled, bool gitEnabled);
bool edit(QString name, QString path, bool lintEnabled, bool csEnabled, QStringList openTabFiles, QList<int> openTabLines, int currentTabIndex, QString todo);
bool exists(QString path);
bool open(QString path);
void save(QStringList openTabFiles, QList<int> openTabLines, int currentTabIndex, QString todo);
void close();
bool isOpen();
QString getName();
QString getPath();
bool isPHPLintEnabled();
bool isPHPCSEnabled();
void loadWords(CompleteWords * CW, HighlightWords * HW, HelpWords * HPW);
void deleteDataFile();
void findDeclaration(QString name, QString & path, int & line);
static QVariantMap createPHPResultMap();
static QVariantMap loadPHPDataMap(QString path);
static bool isProjectFile(QString path);
static void checkParsePHPFilesModified(QStringList & files, QVariantMap & data, QVariantMap & map);
static void parsePHPResult(ParsePHP::ParseResult result, QVariantMap & map, QString path, QString lastModified);
static void savePHPResults(QString path, QVariantMap & map);
std::unordered_map<std::string, std::string> phpFunctionDeclarations;
std::unordered_map<std::string, std::string>::iterator phpFunctionDeclarationsIterator;
std::unordered_map<std::string, std::string> phpClassMethodDeclarations;
std::unordered_map<std::string, std::string>::iterator phpClassMethodDeclarationsIterator;
std::unordered_map<std::string, std::string> phpClassDeclarations;
std::unordered_map<std::string, std::string>::iterator phpClassDeclarationsIterator;
protected:
void reset();
void loadPHPWords(QString project_dir, CompleteWords * CW, HighlightWords * HW, HelpWords * HPW);
bool updateMetaFile(QString name, QString path, bool lintEnabled, bool csEnabled, QString time_created, QString time_modified, QStringList openTabFiles, QList<int> openTabLines, int currentTabIndex, QString todo);
static std::unordered_map<std::string, std::string> getPHPFilesMapFromData(QVariantMap & data);
static void preparePHPResults(QString project_dir, QVariantMap & map);
static void preparePHPClasses(QString cls_name, QVariantMap cls, QString & cls_args, QString & class_consts_str, QString & class_properties_str, QString & class_methods_str, QString & class_method_types_str, QString & class_methods_search_str, QString & class_methods_help_str,std::unordered_map<std::string, std::string> & cls_methods_map, std::unordered_map<std::string, std::string> & cls_props_map, std::unordered_map<std::string, std::string> & cls_consts_map);
private:
QString projectName;
QString projectPath;
QString projectCreated;
QString projectModified;
bool projectPHPLintEnabled;
bool projectPHPCSEnabled;
signals:
void openTabsRequested(QStringList openTabFiles, bool initHighlight);
void gotoTabLinesRequested(QList<int> openTabLines);
void switchToTabRequested(int currentTabIndex);
void closeAllTabsRequested(void);
void showTodoRequested(QString text);
public slots:
};
#endif // PROJECT_H

55
include/quickaccess.h Normal file
View file

@ -0,0 +1,55 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef QUICKACCESS_H
#define QUICKACCESS_H
#include <QWidget>
#include <QLineEdit>
#include <QListWidget>
#include <QVBoxLayout>
#include "settings.h"
#include "parsephp.h"
#include "parsejs.h"
#include "parsecss.h"
class QuickAccess : public QFrame
{
Q_OBJECT
public:
explicit QuickAccess(Settings * settings, QWidget *parent = nullptr);
~QuickAccess();
QSize sizeHint() const override;
void display(int x, int y, int width, int height);
void setParseResult(ParsePHP::ParseResult result, QString file);
void setParseResult(ParseJS::ParseResult result, QString file);
void setParseResult(ParseCSS::ParseResult result, QString file);
protected:
bool eventFilter(QObject *watched, QEvent *event) override;
void restoreResults();
QLineEdit * findEdit;
QListWidget * resultsList;
QVBoxLayout * vLayout;
private:
QString lastSearch;
ParsePHP::ParseResult parseResultPHP;
ParseJS::ParseResult parseResultJS;
ParseCSS::ParseResult parseResultCSS;
QString parseResultFile;
int parseResultType;
bool findLocked;
signals:
void quickAccessRequested(QString file, int line);
void quickFindRequested(QString text);
public slots:
void resultsListItemActivated(QListWidgetItem * item);
void findTextReturned();
void findTextChanged(QString text);
void quickFound(QString text, QString info, QString file, int line);
void findTextDelayed();
};
#endif // QUICKACCESS_H

68
include/search.h Normal file
View file

@ -0,0 +1,68 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef SEARCH_H
#define SEARCH_H
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QCheckBox>
#include "editor.h"
class Search : public QWidget
{
Q_OBJECT
public:
explicit Search(Editor * codeEditor);
QSize sizeHint() const override;
void setFindEditBg(QColor bgColor);
void setReplaceEditBg(QColor bgColor);
void setFindEditProp(const char * prop, QString val);
void setReplaceEditProp(const char * prop, QString val);
void setFindEditFocus();
void setFindEditText(QString str);
bool isFocused();
protected:
void paintEvent(QPaintEvent *event) override;
QLineEdit * findEdit;
QPushButton * findButton;
QPushButton * findPrevButton;
QCheckBox * findCaseSensitive;
QCheckBox * findWholeWords;
QCheckBox * findRegexp;
QLineEdit * replaceEdit;
QPushButton * replaceButton;
QPushButton * replaceAllButton;
QPushButton * closeButton;
QHBoxLayout * hLayoutFind;
QHBoxLayout * hLayoutReplace;
QVBoxLayout * vLayout;
private:
Editor * editor;
bool CaSe;
bool Word;
bool RegE;
bool Prev;
signals:
private slots:
void findPressed();
void findPrevPressed();
void replacePressed();
void replaceAllPressed();
void closePressed();
void findCaseSensitiveChanged(int state);
void findWholeWordsChanged(int state);
void findRegexpChanged(int state);
void findEnterPressed();
void replaceEnterPressed();
void findTextChanged(QString);
};
#endif // SEARCH_H

43
include/searchdialog.h Normal file
View file

@ -0,0 +1,43 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef SEARCHDIALOG_H
#define SEARCHDIALOG_H
#include "ui_search.h"
#include <QDialog>
class SearchDialog : public QDialog
{
Q_OBJECT
public:
SearchDialog(QWidget * parent);
~SearchDialog();
void setDirectory(QString path);
void setText(QString text);
void setExtensions(QString text);
QString getDirectory();
QString getText();
QString getExtensions();
void setCaseOption(bool checked);
bool getCaseOption();
void setWordOption(bool checked);
bool getWordOption();
void setRegexpOption(bool checked);
bool getRegexpOption();
void focusDirectory();
void focusText();
protected:
void checkPath(QString directory, QString text);
private:
Ui::SearchDialog * ui;
private slots:
void directoryChanged(QString path);
void textChanged(QString text);
void chooseButtonPressed(void);
};
#endif // SEARCHDIALOG_H

27
include/servers.h Normal file
View file

@ -0,0 +1,27 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef SERVERS_H
#define SERVERS_H
#include <QString>
#include "settings.h"
extern const QString SERVERS_START_CMD;
extern const QString SERVERS_STOP_CMD;
extern const QString SERVERS_STATUS_CMD;
class Servers
{
public:
Servers();
static QString generateApacheServiceCommand(QString command, QString pwd);
static QString generateMariaDBServiceCommand(QString command, QString pwd);
static QString highlightServersCommand(QString & text, Settings * settings);
static QString highlightServersCommandOutput(QString & output, Settings * settings);
};
#endif // SERVERS_H

42
include/settings.h Normal file
View file

@ -0,0 +1,42 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef SETTINGS_H
#define SETTINGS_H
#include <QObject>
#include <unordered_map>
extern const QString COLOR_SCHEME_LIGHT;
extern const QString COLOR_SCHEME_DARK;
extern const QString THEME_SYSTEM;
extern const QString THEME_LIGHT;
extern const QString THEME_DARK;
class Settings : public QObject
{
Q_OBJECT
public:
Settings(QObject *parent = nullptr);
~Settings();
void applyLightColors();
void applyDarkColors();
void set(std::string k, std::string v);
std::string get(std::string k);
void load();
void reset();
void change(std::unordered_map<std::string, std::string> map);
void save();
private:
std::unordered_map<std::string, std::string> data;
std::unordered_map<std::string, std::string>::iterator iterator;
std::unordered_map<std::string, std::string> changesData;
signals:
void restartApp();
};
#endif // SETTINGS_H

38
include/settingsdialog.h Normal file
View file

@ -0,0 +1,38 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef SETTINGSDIALOG_H
#define SETTINGSDIALOG_H
#include "ui_settings.h"
#include <QDialog>
#include "settings.h"
class SettingsDialog : public QDialog
{
Q_OBJECT
public:
SettingsDialog(Settings * settings, QWidget * parent);
~SettingsDialog();
std::unordered_map<std::string, std::string> getData();
private:
Ui::SettingsDialog * ui;
Settings * settings;
std::unordered_map<std::string, std::string> dataMap;
QFont editorFont;
std::string tabsType;
std::string newLineMode;
private slots:
void projectHomeButtonPressed();
void editorTabTypeTabsToggled(bool checked);
void editorTabTypeSpacesToggled(bool checked);
void editorNewLineLFToggled(bool checked);
void editorNewLineCRToggled(bool checked);
void editorNewLineCRLFToggled(bool checked);
void resetButtonPressed();
};
#endif // SETTINGSDIALOG_H

22
include/tooltip.h Normal file
View file

@ -0,0 +1,22 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef TOOLTIP_H
#define TOOLTIP_H
#include <QLabel>
class Tooltip : public QLabel
{
Q_OBJECT
public:
Tooltip();
~Tooltip();
protected:
void mousePressEvent(QMouseEvent *e) override;
};
#endif // TOOLTIP_H

12
include/types.h Normal file
View file

@ -0,0 +1,12 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#ifndef TYPES_H
#define TYPES_H
typedef std::list<std::unordered_map<std::string, std::string>> WordsMapList;
#endif // TYPES_H

20
main.cpp Normal file
View file

@ -0,0 +1,20 @@
/*******************************************
* Zira Editor
* A lightweight PHP Editor
* (C)2019 https://github.com/ziracms/editor
*******************************************/
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
int exitCode = 0;
do {
QApplication a(argc, argv);
MainWindow w;
w.show();
exitCode = a.exec();
} while(exitCode == MainWindow::EXIT_CODE_RESTART);
return exitCode;
}

9
qrc/help.qrc Normal file
View file

@ -0,0 +1,9 @@
<RCC>
<qresource prefix="/help">
<file alias="php_function_descs">resources/help/php/function_descs</file>
<file alias="php_class_method_descs">resources/help/php/class_method_descs</file>
<file alias="php_manual_files">resources/help/php/files</file>
<file alias="editor_shortcuts">resources/help/shortcuts</file>
<file alias="about">resources/help/about</file>
</qresource>
</RCC>

14
qrc/highlight.qrc Normal file
View file

@ -0,0 +1,14 @@
<RCC>
<qresource prefix="/highlight">
<file alias="php_keys">resources/highlight/php/keywords</file>
<file alias="php_consts">resources/highlight/php/consts</file>
<file alias="php_classes">resources/highlight/php/classes</file>
<file alias="php_types">resources/highlight/php/types</file>
<file alias="js_keys">resources/highlight/js/keywords</file>
<file alias="js_functions">resources/highlight/js/functions</file>
<file alias="js_types">resources/highlight/js/types</file>
<file alias="js_props">resources/highlight/js/props</file>
<file alias="css_keys">resources/highlight/css/keywords</file>
<file alias="css_spec">resources/highlight/css/special</file>
</qresource>
</RCC>

29
qrc/image.qrc Normal file
View file

@ -0,0 +1,29 @@
<RCC>
<qresource prefix="/image">
<file alias="abstract">resources/images/abstract.png</file>
</qresource>
<qresource prefix="/icons">
<file alias="application-exit.png">resources/images/icons/application-exit.png</file>
<file alias="color-management.png">resources/images/icons/color-management.png</file>
<file alias="configure.png">resources/images/icons/configure.png</file>
<file alias="document-new.png">resources/images/icons/document-new.png</file>
<file alias="document-open.png">resources/images/icons/document-open.png</file>
<file alias="document-save-all.png">resources/images/icons/document-save-all.png</file>
<file alias="document-save-as.png">resources/images/icons/document-save-as.png</file>
<file alias="document-save.png">resources/images/icons/document-save.png</file>
<file alias="edit-redo.png">resources/images/icons/edit-redo.png</file>
<file alias="edit-undo.png">resources/images/icons/edit-undo.png</file>
<file alias="folder-new.png">resources/images/icons/folder-new.png</file>
<file alias="go-next.png">resources/images/icons/go-next.png</file>
<file alias="go-previous.png">resources/images/icons/go-previous.png</file>
<file alias="help-info.png">resources/images/icons/help-info.png</file>
<file alias="quickopen.png">resources/images/icons/quickopen.png</file>
<file alias="file.png">resources/images/icons/application-text.png</file>
<file alias="folder.png">resources/images/icons/folder.png</file>
<file alias="zira.png">resources/images/icons/zira.png</file>
<file alias="zira-cms.png">resources/images/icons/zira-cms.png</file>
<file alias="edit.png">resources/images/icons/edit.png</file>
<file alias="view-refresh.png">resources/images/icons/view-refresh.png</file>
<file alias="edit-delete.png">resources/images/icons/edit-delete.png</file>
</qresource>
</RCC>

5
qrc/resources/help/about Normal file
View file

@ -0,0 +1,5 @@
<div>Lightweight PHP Editor with syntax check and autocomplete.</div>
<div>&nbsp;</div>
<div>Syntax check performed by php executable.</div>
<div>Context help requires php manual.</div>
<div>You can download it from php.net (many html files archive).</div>

File diff suppressed because it is too large Load diff

10601
qrc/resources/help/php/files Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,22 @@
<table>
<tr><td>List of keyboard shortcuts:</td><td></td></tr>
<tr><td>&nbsp;</td><td></td></tr>
<tr><td>Undo:</td><td>Ctrl+Z</td></tr>
<tr><td>Redo:</td><td>Ctrl+Shift+Z</td></tr>
<tr><td>Indent:</td><td>TAB</td></tr>
<tr><td>Unindent:</td><td>Shift+TAB</td></tr>
<tr><td>Save:</td><td>Ctrl+S</td></tr>
<tr><td>Save All:</td><td>Ctrl+Shift+S</td></tr>
<tr><td>Comment In/Out:</td><td>Ctrl+/</td></tr>
<tr><td>Overwrite Mode On/Off:</td><td>Insert</td></tr>
<tr><td>Show tooltip:</td><td>Ctrl+Space</td></tr>
<tr><td>Search document:</td><td>Ctrl+F</td></tr>
<tr><td>Search in files:</td><td>Ctrl+Shift+F</td></tr>
<tr><td>Context help:</td><td>F1</td></tr>
<tr><td>Duplicate line:</td><td>Ctrl+D</td></tr>
<tr><td>Delete line:</td><td>Ctrl+Alt+D</td></tr>
<tr><td>Show/Hide Sidebar:</td><td>Ctrl+Alt+S</td></tr>
<tr><td>Show/Hide Toolbar:</td><td>Ctrl+Alt+T</td></tr>
<tr><td>Show/Hide Output:</td><td>Ctrl+Alt+O</td></tr>
<tr><td>Show/Hide Quick Access Panel: </td><td>Ctrl+Alt+Q / Ctrl+P</td></tr>
</table>

View file

@ -0,0 +1,15 @@
charset
counter-style
import
important
font-face
media
only
screen
and
keyframes
print
supports
extend
mixin
include

View file

@ -0,0 +1,8 @@
progid
dximagetransform
microsoft
startcolorstr
endcolorstr
gradienttype
opacity
enabled

View file

@ -0,0 +1,37 @@
alert
assign
blur
clearInterval
clearTimeout
close
confirm
constructor
decodeURI
decodeURIComponent
encodeURI
encodeURIComponent
escape
fileUpload
focus
navigate
open
parseFloat
parseInt
prompt
propertyIsEnum
reset
scroll
secure
setInterval
setTimeout
submit
unescape
untaint
eval
hasOwnProperty
isFinite
isNaN
isPrototypeOf
valueOf
taint
toString

View file

@ -0,0 +1,72 @@
abstract
arguments
await
boolean
break
byte
case
catch
char
class
const
continue
debugger
default
delete
do
double
else
enum
eval
export
extends
false
final
finally
float
for
function
goto
if
implements
import
in
instanceof
int
interface
let
long
native
new
null
package
private
protected
public
return
short
static
super
switch
synchronized
this
throw
throws
transient
true
try
typeof
var
void
volatile
while
with
yield
clientInformation
crypto
document
navigator
history
self
parent
window

View file

@ -0,0 +1,49 @@
closed
defaultStatus
innerHeight
innerWidth
layer
layers
link
location
mimeTypes
frames
frameRate
hidden
image
images
offscreenBuffering
opener
option
outerHeight
outerWidth
packages
pageXOffset
pageYOffset
screenX
screenY
status
text
top
name
length
all
anchor
anchors
area
button
checkbox
element
elements
embed
embeds
event
form
forms
frame
password
pkcs11
plugin
radio
select
textarea

View file

@ -0,0 +1,11 @@
Array
Date
function
Infinity
Math
NaN
Number
Object
prototype
String
undefined

View file

@ -0,0 +1,15 @@
directory
stdclass
__php_incomplete_class
exception
errorexception
php_user_filter
closure
generator
arithmeticerror
assertionerror
divisionbyzeroerror
error
throwable
parseerror
typeerror

View file

@ -0,0 +1,63 @@
__CLASS__
__DIR__
__FILE__
__FUNCTION__
__LINE__
__METHOD__
__NAMESPACE__
__TRAIT__
PHP_VERSION
PHP_MAJOR_VERSION
PHP_MINOR_VERSION
PHP_RELEASE_VERSION
PHP_VERSION_ID
PHP_EXTRA_VERSION
PHP_ZTS
PHP_DEBUG
PHP_MAXPATHLEN
PHP_OS
PHP_OS_FAMILY
PHP_SAPI
PHP_EOL
PHP_INT_MAX
PHP_INT_MIN
PHP_INT_SIZE
PHP_FLOAT_DIG
PHP_FLOAT_EPSILON
PHP_FLOAT_MIN
PHP_FLOAT_MAX
DEFAULT_INCLUDE_PATH
PEAR_INSTALL_DIR
PEAR_EXTENSION_DIR
PHP_EXTENSION_DIR
PHP_PREFIX
PHP_BINDIR
PHP_BINARY
PHP_MANDIR
PHP_LIBDIR
PHP_DATADIR
PHP_SYSCONFDIR
PHP_LOCALSTATEDIR
PHP_CONFIG_FILE_PATH
PHP_CONFIG_FILE_SCAN_DIR
PHP_SHLIB_SUFFIX
PHP_FD_SETSIZE
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
E_CORE_ERROR
E_CORE_WARNING
E_COMPILE_ERROR
E_COMPILE_WARNING
E_USER_ERROR
E_USER_WARNING
E_USER_NOTICE
E_RECOVERABLE_ERROR
E_DEPRECATED
E_USER_DEPRECATED
E_ALL
E_STRICT
TRUE
FALSE
NULL

View file

@ -0,0 +1,69 @@
__halt_compiler
abstract
and
as
break
callable
case
catch
class
clone
const
continue
declare
default
die
do
echo
else
elseif
empty
enddeclare
endfor
endforeach
endif
endswitch
endwhile
eval
exit
extends
final
finally
for
foreach
function
global
goto
if
implements
include
include_once
instanceof
insteadof
interface
isset
list
namespace
new
or
print
private
protected
public
require
require_once
return
static
switch
throw
trait
try
unset
use
var
while
xor
yield
self
static
parent

View file

@ -0,0 +1,19 @@
array
int
integer
float
double
real
bool
boolean
string
true
false
null
void
iterable
object
resource
mixed
numeric
callable

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 847 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,006 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

View file

@ -0,0 +1,34 @@
QTextEdit,
QPlainTextEdit,
QTextBrowser
{
color: #a5a9ad;
background: #0f0f10;
selection-background-color: #008dc1;
}
Search QCheckBox
{
color: #c4c8cc;
}
Search QLineEdit[results="found"]
{
background: #3a4a50;
color: #ffffff;
}
Search QLineEdit[results="notfound"]
{
background: #710044;
color: #ffffff;
}
QLabel[abstract_label="true"]
{
color: #fff;
font-size: 17px;
background-image: url(:image/abstract);
background-position: left bottom;
background-repeat: repeat-x;
}

View file

@ -0,0 +1,549 @@
/** Dark theme (based on QT Dark Orange theme) **/
QToolTip
{
border: 1px solid #232627;
background-color: #194067;
border-radius: 3px;
color: #c4c8cc;
padding: 2px 3px;
}
QWidget
{
color: #c4c8cc;
background-color: #232627;
}
QWidget:item:hover
{
color: #c4c8cc;
background-color: #006a7b;
}
QWidget:item:selected
{
color: #fff;
background-color: #008dc1;
}
QMenuBar::item
{
background: transparent;
}
QMenuBar::item:selected
{
background-color: #006a7b;
border: 1px solid #232627;
}
QMenuBar::item:pressed
{
border: 1px solid #232627;
background-color: #008dc1;
color: #fff;
}
QMenu
{
border: 1px solid #232627;
}
QMenu::item
{
padding: 5px 20px;
background: #2a363b;
}
QMenu::item:selected
{
color: #fff;
background-color: #006a7b;
}
QMenu::indicator:checked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #0089ff,
stop: 0.3 transparent
);
}
QMenu::indicator:unchecked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #90989a,
stop: 0.3 transparent
);
}
QMenu::separator
{
height: 1px;
background-color: #3e3e3e;
color: white;
}
QWidget:disabled
{
color: #616161;
background-color: #232627;
}
QLineEdit
{
background-color: #3a4a50;
border-style: solid;
border: 1px solid #1e1e1e;
border-radius: 3;
padding: 5px;
}
QDockWidget QLineEdit
{
border-radius: 0;
border-color: #3a4a50;
}
QTreeView QLineEdit
{
padding: 0;
}
QPushButton
{
color: #e5e8ea;
background-color: #587580;
border: 1px solid #1e1e1e;
border-radius: 3;
padding: 5px 10px 5px 10px;
}
QPushButton:focus
{
background-color: #186e8e;
}
QPushButton:pressed
{
background-color: #008dc1;
}
QComboBox
{
/*selection-background-color: #ffaa00;*/
background-color: #3a4a50;
border: 1px solid #1e1e1e;
border-radius: 3;
padding: 5px;
}
QComboBox:hover,QPushButton:hover
{
border: 2px solid #008dc1;
}
QComboBox:on
{
background-color: #3a4a50;
/*selection-background-color: #ffaa00;*/
}
QComboBox QAbstractItemView
{
border: 2px solid darkgray;
/*selection-background-color: #008dc1;*/
}
QComboBox::drop-down
{
subcontrol-origin: padding;
subcontrol-position: top right;
width: 15px;
border-left-width: 0px;
border-left-color: darkgray;
border-left-style: solid; /* just a single line */
border-top-right-radius: 3px; /* same radius as the QComboBox */
border-bottom-right-radius: 3px;
}
QComboBox::down-arrow
{
image: url(:/styles/dark/down_arrow.png);
}
QGroupBox:focus
{
border: 1px solid #008dc1;
}
QScrollBar:horizontal {
border: none;
background: #232627;
height: 14px;
margin: 0px 1px;
padding: 2px 0px;
}
QScrollBar::handle:horizontal
{
background-color: #3a4a50;
min-width: 14px;
border-radius: 5px;
}
QScrollBar::handle:horizontal:hover
{
background: #006a7b;
}
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal
{
border: none;
border-radius: 0px;
background: none;
width: 1px;
subcontrol-position: right;
subcontrol-origin: margin;
}
QScrollBar::right-arrow:horizontal, QScrollBar::left-arrow:horizontal
{
border: none;
width: 1px;
height: 1px;
background: none;
border-radius: 0px;
}
QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal
{
background: none;
}
QScrollBar:vertical
{
background: #232627;
width: 14px;
margin: 1px 0px;
border: none;
padding: 0px 2px;
}
QScrollBar::handle:vertical
{
background: #3a4a50;
min-height: 14px;
border-radius: 5px;
}
QScrollBar::handle:vertical:hover
{
background: #006a7b;
}
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical
{
border: none;
border-radius: 0px;
background: none;
height: 1px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical
{
border: none;
width: 1px;
height: 1px;
background: none;
}
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical
{
background: none;
}
QTextEdit,
QPlainTextEdit,
QTextBrowser,
QTreeView,
QListView
{
background-color: #242424;
border: 1px solid #444;
}
QTextEdit:hover, QTextEdit:focus,
QPlainTextEdit:hover, QPlainTextEdit:focus,
QTextBrowser:hover, QTextBrowser:focus,
QTreeView:hover, QTreeView:focus,
QListView:hover, QListView:focus
{
border: 1px solid #444;
}
QTreeView
{
background: #2a363b;
}
QMainWindow::separator
{
background-color: #343434;
color: white;
padding-left: 4px;
border: 1px solid #4c4c4c;
spacing: 3px; /* spacing between items in the tool bar */
}
QToolBar::handle
{
spacing: 3px; /* spacing between items in the tool bar */
background: url(:/styles/dark/handle.png);
}
QToolButton
{
background: transparent;
}
QToolButton:hover
{
background: transparent;
border: 1px solid #006a7b;
}
QToolButton:pressed
{
background: #008dc1;
border: 1px solid #008dc1;
}
QProgressBar
{
border: 1px solid #0076af;
border-radius: 0px;
text-align: center;
height: 14px;
}
QProgressBar::chunk
{
background-color: #0076af;
width: 2px;
margin: 0px;
}
QTabBar::tab:top, QTabBar::tab:bottom,
QTabBar::tab:left, QTabBar::tab:right
{
border: none;
background-color: #354042;
}
QTabBar::tab:!selected
{
color: #999999;
}
QTabBar::tab:top:selected, QTabBar::tab:bottom:selected,
QTabBar::tab:left:selected, QTabBar::tab:right:selected
{
color: #e5e8ea;
background-color: #006a7b;
}
QTabBar::tab:!selected:hover
{
background-color: #006a7b;
}
QTabBar::tab:top
{
border-top: 1px solid #444;
border-right: 1px solid #444;
padding: 5px 10px;
}
QTabBar::tab:top:first, QTabBar::tab:top:only-one
{
border-left: 1px solid #444;
border-top-left-radius: 3px;
}
QTabBar::tab:top:last, QTabBar::tab:top:only-one
{
border-top-right-radius: 3px;
}
QTabBar::tab:bottom
{
border-bottom: 1px solid #444;
border-right: 1px solid #444;
padding: 5px 10px;
}
QTabBar::tab:bottom:first, QTabBar::tab:bottom:only-one
{
border-left: 1px solid #444;
border-bottom-left-radius: 3px;
}
QTabBar::tab:bottom:last, QTabBar::tab:bottom:only-one
{
border-bottom-right-radius: 3px;
}
QTabBar::tab:left
{
border-left: 1px solid #444;
border-bottom: 1px solid #444;
padding: 10px 5px;
}
QTabBar::tab:left:first, QTabBar::tab:left:only-one
{
border-top: 1px solid #444;
border-top-right-radius: 3px;
}
QTabBar::tab:left:last, QTabBar::tab:left:only-one
{
border-bottom-right-radius: 3px;
}
QTabBar::tab:right
{
border-right: 1px solid #444;
border-bottom: 1px solid #444;
padding: 10px 5px;
}
QTabBar::tab:right:first, QTabBar::tab:right:only-one
{
border-top: 1px solid #444;
border-top-left-radius: 3px;
}
QTabBar::tab:right:last, QTabBar::tab:right:only-one
{
border-bottom-left-radius: 3px;
}
QTabBar QToolButton
{
background-color: #354042;
border: none;
}
QTabBar QToolButton:hover
{
background-color: #008dc1;
}
QTabWidget::pane
{
border: 1px solid #444;
top: 0px;
}
QDockWidget QTabWidget::pane
{
border: none;
padding: 1px;
}
QRadioButton
{
background: none;
}
QRadioButton::indicator:checked, QRadioButton::indicator:unchecked{
color: #e5e8ea;
background-color: none;
border: none;
border-radius: 0px;
}
QRadioButton::indicator:checked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #0089ff,
stop: 0.3 transparent
);
}
QRadioButton::indicator:unchecked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #90989a,
stop: 0.3 transparent
);
}
QCheckBox
{
background: none;
}
QCheckBox:disabled
{
color: #414141;
}
QCheckBox::indicator{
color: #e5e8ea;
background: none;
border: none;
}
QCheckBox::indicator:checked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #0089ff,
stop: 0.3 transparent
);
}
QCheckBox::indicator:unchecked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #90989a,
stop: 0.3 transparent
);
}
QCheckBox::indicator:disabled, QRadioButton::indicator:disabled
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #333333,
stop: 0.3 transparent
);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

View file

@ -0,0 +1,34 @@
QTextEdit,
QPlainTextEdit,
QTextBrowser
{
color: #333333;
background: #ffffff;
selection-background-color: #1666e0;
}
Search QCheckBox
{
color: #333333;
}
Search QLineEdit[results="found"]
{
background: #fff;
color: #333;
}
Search QLineEdit[results="notfound"]
{
background: #ff8181;
color: #333;
}
QLabel[abstract_label="true"]
{
color: #fff;
font-size: 17px;
background-image: url(:image/abstract);
background-position: left bottom;
background-repeat: repeat-x;
}

View file

@ -0,0 +1,551 @@
/** Light theme (based on QT Dark Orange theme) **/
QToolTip
{
border: 1px solid #e9edf1;
background-color: #fffef6;
border-radius: 3px;
color: #4c4c4c;
padding: 2px 3px;
}
QWidget
{
color: #333333;
background-color: #e9edf1;
}
QWidget:item:hover
{
color: #333333;
background-color: #8dbae8;
}
QWidget:item:selected
{
color: #fff;
background-color: #1666e0;
}
QMenuBar::item
{
background: transparent;
}
QMenuBar::item:selected
{
background-color: #8dbae8;
border: 1px solid #e9edf1;
}
QMenuBar::item:pressed
{
border: 1px solid #e9edf1;
background-color: #1666e0;
color: #fff;
}
QMenu
{
border: 1px solid #e9edf1;
}
QMenu::item
{
padding: 5px 20px;
background: #d6e0e4;
}
QMenu::item:selected
{
color: #000000;
background-color: #8dbae8;
}
QMenu::indicator:checked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #4d5cc5,
stop: 0.3 transparent
);
}
QMenu::indicator:unchecked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #90989a,
stop: 0.3 transparent
);
}
QMenu::separator
{
height: 1px;
background-color: #aaaaaa;
color: white;
}
QWidget:disabled
{
color: #ababab;
background-color: #e9edf1;
}
QLineEdit
{
background-color: #d6e0e4;
border-style: solid;
border: 1px solid #c5cfd6;
border-radius: 3;
padding: 5px;
}
QDockWidget QLineEdit
{
border-radius: 0;
border-color: #d6e0e4;
}
QTreeView QLineEdit
{
padding: 0;
}
QPushButton
{
color: #000000;
background-color: #f2fbff;
border: 1px solid #c5cfd6;
border-radius: 3;
padding: 5px 10px 5px 10px;
}
QPushButton:focus
{
background-color: #81c6e0;
}
QPushButton:pressed
{
color: #ffffff;
background-color: #1666e0;
}
QComboBox
{
/*selection-background-color: #ffaa00;*/
background-color: #d6e0e4;
border: 1px solid #c5cfd6;
border-radius: 3;
padding: 5px;
}
QComboBox:hover,QPushButton:hover
{
border: 1px solid #1666e0;
}
QComboBox:on
{
background-color: #d6e0e4;
/*selection-background-color: #ffaa00;*/
}
QComboBox QAbstractItemView
{
border: 1px solid darkgray;
/*selection-background-color: #1666e0;*/
}
QComboBox::drop-down
{
subcontrol-origin: padding;
subcontrol-position: top right;
width: 15px;
border-left-width: 0px;
border-left-color: darkgray;
border-left-style: solid; /* just a single line */
border-top-right-radius: 3px; /* same radius as the QComboBox */
border-bottom-right-radius: 3px;
}
QComboBox::down-arrow
{
image: url(:/styles/light/down_arrow.png);
}
QGroupBox:focus
{
border: 1px solid #1666e0;
}
QScrollBar:horizontal {
border: none;
background: #e9edf1;
height: 14px;
margin: 0px 1px;
padding: 2px 0px;
}
QScrollBar::handle:horizontal
{
background-color: #a0b3bb;
min-width: 14px;
border-radius: 5px;
}
QScrollBar::handle:horizontal:hover
{
background: #8dbae8;
}
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal
{
border: none;
border-radius: 0px;
background: none;
width: 1px;
subcontrol-position: right;
subcontrol-origin: margin;
}
QScrollBar::right-arrow:horizontal, QScrollBar::left-arrow:horizontal
{
border: none;
width: 1px;
height: 1px;
background: none;
border-radius: 0px;
}
QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal
{
background: none;
}
QScrollBar:vertical
{
background: #e9edf1;
width: 14px;
margin: 1px 0px;
border: none;
padding: 0px 2px;
}
QScrollBar::handle:vertical
{
background: #a0b3bb;
min-height: 14px;
border-radius: 5px;
}
QScrollBar::handle:vertical:hover
{
background: #8dbae8;
}
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical
{
border: none;
border-radius: 0px;
background: none;
height: 1px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical
{
border: none;
width: 1px;
height: 1px;
background: none;
}
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical
{
background: none;
}
QTextEdit,
QPlainTextEdit,
QTextBrowser,
QTreeView,
QListView
{
background-color: #ffffff;
border: 1px solid #c7c7c7;
}
QTextEdit:hover, QTextEdit:focus,
QPlainTextEdit:hover, QPlainTextEdit:focus,
QTextBrowser:hover, QTextBrowser:focus,
QTreeView:hover, QTreeView:focus,
QListView:hover, QListView:focus
{
border: 1px solid #c7c7c7;
}
QTreeView
{
background: #d6e0e4;
}
QMainWindow::separator
{
background-color: #d2d2d2;
color: black;
padding-left: 4px;
border: 1px solid #c5c5c5;
spacing: 3px; /* spacing between items in the tool bar */
}
QToolBar::handle
{
spacing: 3px; /* spacing between items in the tool bar */
background: url(:/styles/light/handle.png);
}
QToolButton
{
background: transparent;
}
QToolButton:hover
{
background: transparent;
border: 1px solid #8dbae8;
}
QToolButton:pressed
{
color: #ffffff;
background: #1666e0;
border: 1px solid #1666e0;
}
QProgressBar
{
border: 1px solid #25b9ff;
border-radius: 0px;
text-align: center;
height: 14px;
}
QProgressBar::chunk
{
background-color: #25b9ff;
width: 2px;
margin: 0px;
}
QTabBar::tab:top, QTabBar::tab:bottom,
QTabBar::tab:left, QTabBar::tab:right
{
border: none;
background-color: #e0e0e0;
}
QTabBar::tab:!selected
{
color: #353535;
}
QTabBar::tab:top:selected, QTabBar::tab:bottom:selected,
QTabBar::tab:left:selected, QTabBar::tab:right:selected
{
color: #000000;
background-color: #8dbae8;
}
QTabBar::tab:!selected:hover
{
background-color: #8dbae8;
}
QTabBar::tab:top
{
border-top: 1px solid #c7c7c7;
border-right: 1px solid #c7c7c7;
padding: 5px 10px;
}
QTabBar::tab:top:first, QTabBar::tab:top:only-one
{
border-left: 1px solid #c7c7c7;
border-top-left-radius: 3px;
}
QTabBar::tab:top:last, QTabBar::tab:top:only-one
{
border-top-right-radius: 3px;
}
QTabBar::tab:bottom
{
border-bottom: 1px solid #c7c7c7;
border-right: 1px solid #c7c7c7;
padding: 5px 10px;
}
QTabBar::tab:bottom:first, QTabBar::tab:bottom:only-one
{
border-left: 1px solid #c7c7c7;
border-bottom-left-radius: 3px;
}
QTabBar::tab:bottom:last, QTabBar::tab:bottom:only-one
{
border-bottom-right-radius: 3px;
}
QTabBar::tab:left
{
border-left: 1px solid #c7c7c7;
border-bottom: 1px solid #c7c7c7;
padding: 10px 5px;
}
QTabBar::tab:left:first, QTabBar::tab:left:only-one
{
border-top: 1px solid #c7c7c7;
border-top-right-radius: 3px;
}
QTabBar::tab:left:last, QTabBar::tab:left:only-one
{
border-bottom-right-radius: 3px;
}
QTabBar::tab:right
{
border-right: 1px solid #c7c7c7;
border-bottom: 1px solid #c7c7c7;
padding: 10px 5px;
}
QTabBar::tab:right:first, QTabBar::tab:right:only-one
{
border-top: 1px solid #c7c7c7;
border-top-left-radius: 3px;
}
QTabBar::tab:right:last, QTabBar::tab:right:only-one
{
border-bottom-left-radius: 3px;
}
QTabBar QToolButton
{
background-color: #e0e0e0;
border: none;
}
QTabBar QToolButton:hover
{
background-color: #abc5ec;
}
QTabWidget::pane
{
border: 1px solid #c7c7c7;
top: 0px;
}
QDockWidget QTabWidget::pane
{
border: none;
padding: 1px;
}
QRadioButton
{
background: none;
}
QRadioButton::indicator:checked, QRadioButton::indicator:unchecked{
color: #000000;
background-color: none;
border: none;
border-radius: 0px;
}
QRadioButton::indicator:checked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #4d5cc5,
stop: 0.3 transparent
);
}
QRadioButton::indicator:unchecked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #90989a,
stop: 0.3 transparent
);
}
QCheckBox
{
background: none;
}
QCheckBox:disabled
{
color: #414141;
}
QCheckBox::indicator{
color: #000000;
background: none;
border: none;
}
QCheckBox::indicator:checked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #4d5cc5,
stop: 0.3 transparent
);
}
QCheckBox::indicator:unchecked
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #90989a,
stop: 0.3 transparent
);
}
QCheckBox::indicator:disabled, QRadioButton::indicator:disabled
{
background: qradialgradient(
cx: 0.5, cy: 0.5,
fx: 0.5, fy: 0.5,
radius: 1.0,
stop: 0.25 #333333,
stop: 0.3 transparent
);
}

View file

@ -0,0 +1,551 @@
align-content
align-items
align-self
alignment-adjust
alignment-baseline
all
animation
animation-delay
animation-direction
animation-duration
animation-fill-mode
animation-iteration-count
animation-name
animation-play-state
animation-timing-function
appearance
azimuth
backface-visibility
background
background-attachment
background-blend-mode
background-clip
background-color
background-image
background-origin
background-position
background-repeat
background-size
baseline-shift
block-ellipsis
block-overflow
block-size
block-step
block-step-align
block-step-insert
block-step-round
block-step-size
bookmark-label
bookmark-level
bookmark-state
border
border-block
border-block-color
border-block-end
border-block-end-color
border-block-end-style
border-block-end-width
border-block-start
border-block-start-color
border-block-start-style
border-block-start-width
border-block-style
border-block-width
border-bottom
border-bottom-color
border-bottom-fit-length
border-bottom-fit-width
border-bottom-image
border-bottom-left-fit-width
border-bottom-left-image
border-bottom-left-radius
border-bottom-right-fit-length
border-bottom-right-fit-width
border-bottom-right-image
border-bottom-right-radius
border-bottom-style
border-bottom-width
border-bottoml-eft-fit-length
border-boundary
border-break
border-collapse
border-color
border-corner-fit
border-corner-image
border-corner-image-transform
border-end-end-radius
border-end-start-radius
border-fit
border-fit-length
border-fit-width
border-image
border-image-outset
border-image-repeat
border-image-slice
border-image-source
border-image-transform
border-image-width
border-inline
border-inline-color
border-inline-end
border-inline-end-color
border-inline-end-style
border-inline-end-width
border-inline-start
border-inline-start-color
border-inline-start-style
border-inline-start-width
border-inline-style
border-inline-width
border-left
border-left-color
border-left-fit-length
border-left-fit-width
border-left-image
border-left-style
border-left-width
border-radius
border-right
border-right-color
border-right-fit-length
border-right-fit-width
border-right-image
border-right-style
border-right-width
border-spacing
border-start-end-radius
border-start-start-radius
border-style
border-top
border-top-color
border-top-fit-length
border-top-fit-width
border-top-image
border-top-left-fit-length
border-top-left-fit-width
border-top-left-image
border-top-left-radius
border-top-right-fit-length
border-top-right-fit-width
border-top-right-image
border-top-right-radius
border-top-style
border-top-width
border-width
bottom
box-decoration-break
box-shadow
box-sizing
box-snap
break-after
break-before
break-inside
caption-side
caret
caret-color
caret-shape
chains
clear
clip
clip-path
clip-rule
color
color-adjust
color-interpolation-filters
column-count
column-fill
column-gap
column-rule
column-rule-color
column-rule-style
column-rule-width
column-span
column-width
columns
contain
content
continue
counter-increment
counter-reset
counter-set
cue
cue-after
cue-before
cursor
direction
display
dominant-baseline
drop-initial-after-adjust
drop-initial-after-align
drop-initial-before-adjust
drop-initial-before-align
drop-initial-size
drop-initial-value
elevation
empty-cells
fill
fill-break
fill-color
fill-image
fill-opacity
fill-origin
fill-position
fill-repeat
fill-rule
fill-size
filter
flex
flex-basis
flex-direction
flex-flow
flex-grow
flex-shrink
flex-wrap
float
float-defer
float-offset
float-reference
flood-color
flood-opacity
flow
flow-from
flow-into
font
font-family
font-feature-settings
font-kerning
font-language-override
font-max-size
font-min-size
font-optical-sizing
font-palette
font-size
font-size-adjust
font-stretch
font-style
font-synthesis
font-synthesis-small-caps
font-synthesis-style
font-synthesis-weight
font-variant
font-variant-alternates
font-variant-caps
font-variant-east-asian
font-variant-emoji
font-variant-ligatures
font-variant-numeric
font-variant-position
font-variation-settings
font-weight
footnote-display
footnote-policy
gap
glyph-orientation-vertical
grid
grid-area
grid-auto-columns
grid-auto-flow
grid-auto-rows
grid-column
grid-column-end
grid-column-start
grid-row
grid-row-end
grid-row-start
grid-template
grid-template-areas
grid-template-columns
grid-template-rows
hanging-punctuation
height
hyphenate-character
hyphenate-limit-chars
hyphenate-limit-last
hyphenate-limit-lines
hyphenate-limit-zone
hyphens
image-orientation
image-rendering
image-resolution
initial-letters
initial-letters-align
initial-letters-wrap
inline-box-align
inline-size
inline-sizing
inset
inset-after
inset-before
inset-block
inset-block-end
inset-block-start
inset-end
inset-inline
inset-inline-end
inset-inline-start
inset-start
isolation
justify-content
justify-items
justify-self
leading-trim
leading-trim-over
leading-trim-under
left
letter-spacing
lighting-color
line-break
line-clamp
line-grid
line-height
line-height-step
line-padding
line-sizing
line-snap
line-stacking
line-stacking-ruby
line-stacking-shift
line-stacking-strategy
list-style
list-style-image
list-style-position
list-style-type
margin
margin-block
margin-block-end
margin-block-start
margin-bottom
margin-break
margin-inline
margin-inline-end
margin-inline-start
margin-left
margin-right
margin-top
margin-trim
marker
marker-end
marker-knockout-left
marker-knockout-right
marker-mid
marker-pattern
marker-segment
marker-side
marker-start
mask
mask-border
mask-border-mode
mask-border-outset
mask-border-repeat
mask-border-slice
mask-border-source
mask-border-width
mask-clip
mask-composite
mask-image
mask-mode
mask-origin
mask-position
mask-repeat
mask-size
mask-type
max-block-size
max-height
max-inline-size
max-lines
max-width
min-block-size
min-height
min-inline-size
min-width
mix-blend-mode
nav-down
nav-left
nav-right
nav-up
object-fit
object-position
offset
offset-after
offset-anchor
offset-before
offset-distance
offset-end
offset-path
offset-position
offset-rotate
offset-start
opacity
order
orphans
outline
outline-color
outline-offset
outline-style
outline-width
overflow
overflow-block
overflow-inline
overflow-wrap
overflow-x
overflow-y
padding
padding-block
padding-block-end
padding-block-start
padding-bottom
padding-inline
padding-inline-end
padding-inline-start
padding-left
padding-right
padding-top
page
page-break-after
page-break-before
page-break-inside
pause
pause-after
pause-before
perspective
perspective-origin
pitch
pitch-range
place-content
place-items
place-self
play-during
position
quotes
region-fragment
resize
richness
right
row-gap
ruby-align
ruby-merge
ruby-position
running
scroll-behavior
scroll-margin
scroll-margin-block
scroll-margin-block-end
scroll-margin-block-start
scroll-margin-bottom
scroll-margin-inline
scroll-margin-inline-end
scroll-margin-inline-start
scroll-margin-left
scroll-margin-right
scroll-margin-top
scroll-padding
scroll-padding-block
scroll-padding-block-end
scroll-padding-block-start
scroll-padding-bottom
scroll-padding-inline
scroll-padding-inline-end
scroll-padding-inline-start
scroll-padding-left
scroll-padding-right
scroll-padding-top
scroll-snap-align
scroll-snap-stop
scroll-snap-type
scrollbar-color
scrollbar-gutter
scrollbar-width
shape-image-threshold
shape-inside
shape-margin
shape-outside
speak
speak-header
speak-numeral
speak-punctuation
speech-rate
stress
string-set
stroke
stroke-align
stroke-alignment
stroke-break
stroke-color
stroke-dash-corner
stroke-dash-justify
stroke-dashadjust
stroke-dasharray
stroke-dashcorner
stroke-dashoffset
stroke-image
stroke-linecap
stroke-linejoin
stroke-miterlimit
stroke-opacity
stroke-origin
stroke-position
stroke-repeat
stroke-size
stroke-width
tab-size
table-layout
text-align
text-align-all
text-align-last
text-combine-upright
text-decoration
text-decoration-color
text-decoration-line
text-decoration-skip
text-decoration-skip-ink
text-decoration-style
text-decoration-width
text-emphasis
text-emphasis-color
text-emphasis-position
text-emphasis-skip
text-emphasis-style
text-group-align
text-height
text-indent
text-justify
text-orientation
text-overflow
text-shadow
text-space-collapse
text-space-trim
text-spacing
text-transform
text-underline-offset
text-underline-position
text-wrap
top
transform
transform-box
transform-origin
transform-style
transition
transition-delay
transition-duration
transition-property
transition-timing-function
unicode-bidi
user-select
vertical-align
visibility
voice-family
volume
white-space
widows
width
will-change
word-break
word-spacing
word-wrap
wrap-after
wrap-before
wrap-flow
wrap-inside
wrap-through
writing-mode
z-index

View file

@ -0,0 +1,110 @@
a
abbr
address
area
article
aside
audio
b
base
bdi
bdo
blockquote
body
br
button
canvas
caption
cite
code
col
colgroup
data
datalist
dd
del
details
dfn
dialog
div
dl
dt
em
embed
fieldset
figcaption
figure
footer
form
h1
h2
h3
h4
h5
h6
head
header
hr
html
i
iframe
img
input
ins
kbd
label
legend
li
link
main
map
mark
meta
meter
nav
noscript
object
ol
optgroup
option
output
p
param
picture
pre
progress
q
rp
rt
ruby
s
samp
script
section
select
small
source
span
strong
style
sub
summary
sup
svg
table
tbody
td
template
textarea
tfoot
th
thead
time
title
tr
track
u
ul
var
video
wbr

View file

@ -0,0 +1,13 @@
area
base
br
col
embed
hr
img
input
link
meta
param
source
track

View file

@ -0,0 +1,97 @@
a
abbr
address
article
aside
audio
b
bdi
bdo
blockquote
body
button
canvas
caption
cite
code
colgroup
data
datalist
dd
del
details
dfn
dialog
div
dl
dt
em
fieldset
figcaption
figure
footer
form
h1
h2
h3
h4
h5
h6
head
header
html
i
iframe
ins
kbd
label
legend
li
main
map
mark
meter
nav
noscript
object
ol
optgroup
option
output
p
picture
pre
progress
q
rp
rt
ruby
s
samp
script
section
select
small
span
strong
style
sub
summary
sup
svg
table
tbody
td
template
textarea
tfoot
th
thead
time
title
tr
u
ul
var
video
wbr

View file

@ -0,0 +1,7 @@
console
document
location
history
navigator
screen
window

View file

@ -0,0 +1,40 @@
break
case
catch
const
continue
default
delete
do
double
else
enum
eval
export
false
finally
float
for
function
goto
if
in
instanceof
int
let
long
new
null
return
short
switch
this
throw
true
try
typeof
var
void
while
with
parent

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,716 @@
APCIterator ( string $cache [, mixed $search = NULL [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE ]]]] )
APCUIterator ([ mixed $search = NULL [, int $format = APC_ITER_ALL [, int $chunk_size = 100 [, int $list = APC_LIST_ACTIVE ]]]] )
AppendIterator ( void )
ArgumentCountError ( )
ArithmeticError ( )
ArrayAccess ( )
ArrayIterator ([ mixed $array = array() [, int $flags = 0 ]] )
ArrayObject ([ mixed $input = array() [, int $flags = 0 [, string $iterator_class = "ArrayIterator" ]]] )
AssertionError ( )
BadFunctionCallException ( )
BadMethodCallException ( )
CachingIterator ( Iterator $iterator [, int $flags = self::CALL_TOSTRING ] )
Cairo ( )
CairoAntialias ( )
CairoContent ( )
CairoContext ( CairoSurface $surface )
CairoException ( )
CairoExtend ( )
CairoFillRule ( )
CairoFilter ( )
CairoFontFace ( void )
CairoFontOptions ( void )
CairoFontSlant ( )
CairoFontType ( )
CairoFontWeight ( )
CairoFormat ( )
CairoGradientPattern ( void )
CairoHintMetrics ( )
CairoHintStyle ( )
CairoImageSurface ( int $format , int $width , int $height )
CairoLinearGradient ( float $x0 , float $y0 , float $x1 , float $y1 )
CairoLineCap ( )
CairoLineJoin ( )
CairoMatrix ([ float $xx = 1.0 [, float $yx = 0.0 [, float $xy = 0.0 [, float $yy = 1.0 [, float $x0 = 0.0 [, float $y0 = 0.0 ]]]]]] )
CairoOperator ( )
CairoPath ( )
CairoPattern ( void )
CairoPatternType ( )
CairoPdfSurface ( string $file , float $width , float $height )
CairoPsLevel ( )
CairoPsSurface ( string $file , float $width , float $height )
CairoRadialGradient ( float $x0 , float $y0 , float $r0 , float $x1 , float $y1 , float $r1 )
CairoScaledFont ( CairoFontFace $font_face , CairoMatrix $matrix , CairoMatrix $ctm , CairoFontOptions $options )
CairoSolidPattern ( float $red , float $green , float $blue [, float $alpha = 0 ] )
CairoStatus ( )
CairoSubpixelOrder ( )
CairoSurface ( void )
CairoSurfacePattern ( CairoSurface $surface )
CairoSurfaceType ( )
CairoSvgSurface ( string $file , float $width , float $height )
CairoSvgVersion ( )
CairoToyFontFace ( )
CallbackFilterIterator ( Iterator $iterator , callable $callback )
chdb ( string $pathname )
Closure ( void )
Collator ( string $locale )
Collectable ( )
COM ( )
CommonMark\CQL ( string $query )
CommonMark\Interfaces\IVisitable ( )
CommonMark\Interfaces\IVisitor ( )
CommonMark\Node ( )
CommonMark\Node\BlockQuote ( )
CommonMark\Node\BulletList ( void )
CommonMark\Node\Code ( void )
CommonMark\Node\CodeBlock ( void )
CommonMark\Node\CustomBlock ( )
CommonMark\Node\CustomInline ( )
CommonMark\Node\Document ( )
CommonMark\Node\Heading ( void )
CommonMark\Node\HTMLBlock ( void )
CommonMark\Node\HTMLInline ( void )
CommonMark\Node\Image ( void )
CommonMark\Node\Item ( )
CommonMark\Node\LineBreak ( )
CommonMark\Node\Link ( void )
CommonMark\Node\OrderedList ( void )
CommonMark\Node\Paragraph ( )
CommonMark\Node\SoftBreak ( )
CommonMark\Node\Text ( void )
CommonMark\Node\Text\Emphasis ( )
CommonMark\Node\Text\Strong ( )
CommonMark\Node\ThematicBreak ( )
CommonMark\Parser ([ int $options ] )
CompileError ( )
Componere\Abstract\Definition ( )
Componere\Definition ( string $name )
Componere\Method ( \Closure $closure )
Componere\Patch ( object $instance )
Componere\Value ([ $default ] )
Cond ( )
Countable ( )
CURLFile ( string $filename [, string $mimetype [, string $postname ]] )
DateInterval ( string $interval_spec )
DatePeriod ( DateTimeInterface $start , DateInterval $interval , int $recurrences [, int $options ] )
DateTime ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
DateTimeImmutable ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )
DateTimeInterface ( )
DateTimeZone ( string $timezone )
Directory ( )
DirectoryIterator ( string $path )
DivisionByZeroError ( )
DomainException ( )
DOMAttr ( string $name [, string $value ] )
DOMCdataSection ( string $value )
DOMCharacterData ( )
DOMComment ([ string $value ] )
DOMDocument ([ string $version [, string $encoding ]] )
DOMDocumentFragment ( )
DOMDocumentType ( )
DOMElement ( string $name [, string $value [, string $namespaceURI ]] )
DOMEntity ( )
DOMEntityReference ( string $name )
DOMException ( )
DOMImplementation ( void )
DOMNamedNodeMap ( )
DOMNode ( )
DOMNodeList ( )
DOMNotation ( )
DOMProcessingInstruction ( string $name [, string $value ] )
DOMText ([ string $value ] )
DOMXPath ( DOMDocument $doc )
DOTNET ( )
Ds\Collection ( )
Ds\Deque ( )
Ds\Hashable ( )
Ds\Map ( )
Ds\Pair ([ mixed $key [, mixed $value ]] )
Ds\PriorityQueue ( )
Ds\Queue ( )
Ds\Sequence ( )
Ds\Set ( )
Ds\Stack ( )
Ds\Vector ( )
EmptyIterator ( )
Error ([ string $message = "" [, int $code = 0 [, Throwable $previous = NULL ]]] )
ErrorException ([ string $message = "" [, int $code = 0 [, int $severity = E_ERROR [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] )
Ev ( )
EvCheck ( callable $callback [, mixed $data [, int $priority ]] )
EvChild ( int $pid , bool $trace , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
EvEmbed ( object $other [, callable $callback [, mixed $data [, int $priority ]]] )
Event ( EventBase $base , mixed $fd , int $what , callable $cb [, mixed $arg = NULL ] )
EventBase ([ EventConfig $cfg ] )
EventBuffer ( void )
EventBufferEvent ( EventBase $base [, mixed $socket = NULL [, int $options = 0 [, callable $readcb = NULL [, callable $writecb = NULL [, callable $eventcb = NULL ]]]]] )
EventConfig ( void )
EventDnsBase ( EventBase $base , bool $initialize )
EventHttp ( EventBase $base [, EventSslContext $ctx = NULL ] )
EventHttpConnection ( EventBase $base , EventDnsBase $dns_base , string $address , int $port [, EventSslContext $ctx = NULL ] )
EventHttpRequest ( callable $callback [, mixed $data = NULL ] )
EventListener ( EventBase $base , callable $cb , mixed $data , int $flags , int $backlog , mixed $target )
EventSslContext ( string $method , string $options )
EventUtil ( void )
EvFork ( callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
EvIdle ( callable $callback [, mixed $data [, int $priority ]] )
EvIo ( mixed $fd , int $events , callable $callback [, mixed $data [, int $priority ]] )
EvLoop ([ int $flags [, mixed $data = NULL [, float $io_interval = 0.0 [, float $timeout_interval = 0.0 ]]]] )
EvPeriodic ( float $offset , string $interval , callable $reschedule_cb , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
EvPrepare ( string $callback [, string $data [, string $priority ]] )
EvSignal ( int $signum , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
EvStat ( string $path , float $interval , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
EvTimer ( float $after , float $repeat , callable $callback [, mixed $data = NULL [, int $priority = 0 ]] )
EvWatcher ( void )
Exception ([ string $message = "" [, int $code = 0 [, Throwable $previous = NULL ]]] )
FANNConnection ( int $from_neuron , int $to_neuron , float $weight )
FilesystemIterator ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS ] )
FilterIterator ( Iterator $iterator )
finfo ([ int $options = FILEINFO_NONE [, string $magic_file = NULL ]] )
GearmanClient ( void )
GearmanException ( )
GearmanJob ( void )
GearmanTask ( void )
GearmanWorker ( void )
Gender\Gender ([ string $dsn ] )
Generator ( )
GlobIterator ( string $pattern [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
Gmagick ([ string $filename ] )
GmagickDraw ( )
GmagickPixel ([ string $color ] )
GMP ( )
HaruAnnotation ( )
HaruDestination ( )
HaruDoc ( void )
HaruEncoder ( )
HaruException ( )
HaruFont ( )
HaruImage ( )
HaruOutline ( )
HaruPage ( )
HashContext ( void )
HRTime\PerformanceCounter ( )
HRTime\StopWatch ( )
HRTime\Unit ( )
Imagick ([ mixed $files ] )
ImagickDraw ( void )
ImagickKernel ( )
ImagickPixel ([ string $color ] )
ImagickPixelIterator ( Imagick $wand )
InfiniteIterator ( Iterator $iterator )
IntlBreakIterator ( void )
IntlCalendar ( void )
IntlChar ( )
IntlCodePointBreakIterator ( void )
IntlDateFormatter ( string $locale , int $datetype , int $timetype [, mixed $timezone = NULL [, mixed $calendar = NULL [, string $pattern = "" ]]] )
IntlException ( )
IntlGregorianCalendar ([ IntlTimeZone $tz [, string $locale ]] )
IntlIterator ( )
IntlPartsIterator ( )
IntlRuleBasedBreakIterator ( string $rules [, string $areCompiled ] )
IntlTimeZone ( )
InvalidArgumentException ( )
Iterator ( )
IteratorAggregate ( )
IteratorIterator ( Traversable $iterator )
JsonException ( )
JsonSerializable ( )
Judy ( int $judy_type )
KTaglib_ID3v2_AttachedPictureFrame ( )
KTaglib_ID3v2_Frame ( )
KTaglib_ID3v2_Tag ( )
KTaglib_MPEG_AudioProperties ( )
KTaglib_MPEG_File ( )
KTaglib_Tag ( )
Lapack ( )
lapackexception ( )
LengthException ( )
libXMLError ( )
LimitIterator ( Iterator $iterator [, int $offset = 0 [, int $count = -1 ]] )
Locale ( )
LogicException ( )
Lua ( string $lua_script_file = NULL )
LuaClosure ( )
Memcache ( )
Memcached ([ string $persistent_id ] )
MemcachedException ( )
MessageFormatter ( string $locale , string $pattern )
Mongo ( )
MongoBinData ( string $data [, int $type = 0 ] )
MongoClient ([ string $server = "mongodb://localhost:27017" [, array $options = array("connect" => TRUE ) [, array $driver_options ]]] )
MongoCode ( string $code [, array $scope = array() ] )
MongoCollection ( MongoDB $db , string $name )
MongoCommandCursor ( MongoClient $connection , string $ns , array $command = array() )
MongoConnectionException ( )
MongoCursor ( MongoClient $connection , string $ns [, array $query = array() [, array $fields = array() ]] )
MongoCursorException ( )
MongoCursorInterface ( )
MongoCursorTimeoutException ( )
MongoDate ([ int $sec = time() [, int $usec = 0 ]] )
MongoDB ( MongoClient $conn , string $name )
MongoDBRef ( )
MongoDB\BSON\Binary ( string $data , int $type )
MongoDB\BSON\BinaryInterface ( )
MongoDB\BSON\DBPointer ( void )
MongoDB\BSON\Decimal128 ([ string $value ] )
MongoDB\BSON\Decimal128Interface ( )
MongoDB\BSON\Int64 ( void )
MongoDB\BSON\Javascript ( string $code [, array|object $scope ] )
MongoDB\BSON\JavascriptInterface ( )
MongoDB\BSON\MaxKey ( void )
MongoDB\BSON\MaxKeyInterface ( )
MongoDB\BSON\MinKey ( void )
MongoDB\BSON\MinKeyInterface ( )
MongoDB\BSON\ObjectId ([ string $id ] )
MongoDB\BSON\ObjectIdInterface ( )
MongoDB\BSON\Persistable ( )
MongoDB\BSON\Regex ( string $pattern [, string $flags = "" ] )
MongoDB\BSON\RegexInterface ( )
MongoDB\BSON\Serializable ( )
MongoDB\BSON\Symbol ( void )
MongoDB\BSON\Timestamp ( int $increment , int $timestamp )
MongoDB\BSON\TimestampInterface ( )
MongoDB\BSON\Type ( )
MongoDB\BSON\Undefined ( void )
MongoDB\BSON\Unserializable ( )
MongoDB\BSON\UTCDateTime ([ integer|float|string|DateTimeInterface $milliseconds = NULL ] )
MongoDB\BSON\UTCDateTimeInterface ( )
MongoDB\Driver\BulkWrite ([ array $options ] )
MongoDB\Driver\Command ( array|object $document [, array $commandOptions ] )
MongoDB\Driver\Cursor ( void )
MongoDB\Driver\CursorId ( void )
MongoDB\Driver\Exception\AuthenticationException ( )
MongoDB\Driver\Exception\BulkWriteException ( )
MongoDB\Driver\Exception\CommandException ( )
MongoDB\Driver\Exception\ConnectionException ( )
MongoDB\Driver\Exception\ConnectionTimeoutException ( )
MongoDB\Driver\Exception\Exception ( )
MongoDB\Driver\Exception\ExecutionTimeoutException ( )
MongoDB\Driver\Exception\InvalidArgumentException ( )
MongoDB\Driver\Exception\LogicException ( )
MongoDB\Driver\Exception\RuntimeException ( )
MongoDB\Driver\Exception\ServerException ( )
MongoDB\Driver\Exception\SSLConnectionException ( )
MongoDB\Driver\Exception\UnexpectedValueException ( )
MongoDB\Driver\Exception\WriteException ( )
MongoDB\Driver\Manager ([ string $uri = "mongodb://127.0.0.1/" [, array $uriOptions = array() [, array $driverOptions = array() ]]] )
MongoDB\Driver\Monitoring\CommandFailedEvent ( )
MongoDB\Driver\Monitoring\CommandStartedEvent ( )
MongoDB\Driver\Monitoring\CommandSubscriber ( )
MongoDB\Driver\Monitoring\CommandSucceededEvent ( )
MongoDB\Driver\Monitoring\Subscriber ( )
MongoDB\Driver\Query ( array|object $filter [, array $queryOptions ] )
MongoDB\Driver\ReadConcern ([ string $level ] )
MongoDB\Driver\ReadPreference ( string|integer $mode [, array $tagSets = NULL [, array $options = array() ]] )
MongoDB\Driver\Server ( void )
MongoDB\Driver\Session ( void )
MongoDB\Driver\WriteConcern ( string|integer $w [, int $wtimeout [, bool $journal ]] )
MongoDB\Driver\WriteConcernError ( )
MongoDB\Driver\WriteError ( )
MongoDB\Driver\WriteResult ( )
MongoDeleteBatch ( MongoCollection $collection [, array $write_options ] )
MongoDuplicateKeyException ( )
MongoException ( )
MongoExecutionTimeoutException ( )
MongoGridFS ( MongoDB $db [, string $prefix = "fs" [, mixed $chunks = "fs" ]] )
MongoGridFSCursor ( MongoGridFS $gridfs , resource $connection , string $ns , array $query , array $fields )
MongoGridFSException ( )
MongoGridFSFile ( MongoGridFS $gridfs , array $file )
MongoId ([ string|MongoId $id = NULL ] )
MongoInsertBatch ( MongoCollection $collection [, array $write_options ] )
MongoInt32 ( string $value )
MongoInt64 ( string $value )
MongoLog ( )
MongoMaxKey ( )
MongoMinKey ( )
MongoPool ( )
MongoProtocolException ( )
MongoRegex ( string $regex )
MongoResultException ( )
MongoTimestamp ([ int $sec = time() [, int $inc ]] )
MongoUpdateBatch ( MongoCollection $collection [, array $write_options ] )
MongoWriteBatch ( MongoCollection $collection [, string $batch_type [, array $write_options ]] )
MongoWriteConcernException ( )
MultipleIterator ([ int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC ] )
Mutex ( )
mysqli ([ string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $passwd = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] )
mysqli_driver ( )
mysqli_result ( )
mysqli_sql_exception ( )
mysqli_stmt ( mysqli $link [, string $query ] )
mysqli_warning ( void )
MysqlndUhConnection ( void )
MysqlndUhPreparedStatement ( void )
mysql_xdevapi\BaseResult ( )
mysql_xdevapi\Collection ( )
mysql_xdevapi\CollectionAdd ( )
mysql_xdevapi\CollectionFind ( )
mysql_xdevapi\CollectionModify ( )
mysql_xdevapi\CollectionRemove ( )
mysql_xdevapi\ColumnResult ( )
mysql_xdevapi\CrudOperationBindable ( )
mysql_xdevapi\CrudOperationLimitable ( )
mysql_xdevapi\CrudOperationSkippable ( )
mysql_xdevapi\CrudOperationSortable ( )
mysql_xdevapi\DatabaseObject ( )
mysql_xdevapi\DocResult ( )
mysql_xdevapi\Driver ( void )
mysql_xdevapi\Exception ( )
mysql_xdevapi\Executable ( )
mysql_xdevapi\ExecutionStatus ( void )
mysql_xdevapi\Expression ( string $expression )
mysql_xdevapi\FieldMetadata ( void )
mysql_xdevapi\Result ( )
mysql_xdevapi\RowResult ( )
mysql_xdevapi\Schema ( )
mysql_xdevapi\SchemaObject ( )
mysql_xdevapi\Session ( )
mysql_xdevapi\SqlStatement ( )
mysql_xdevapi\SqlStatementResult ( )
mysql_xdevapi\Statement ( )
mysql_xdevapi\Table ( )
mysql_xdevapi\TableDelete ( )
mysql_xdevapi\TableInsert ( )
mysql_xdevapi\TableSelect ( )
mysql_xdevapi\TableUpdate ( )
mysql_xdevapi\Warning ( void )
mysql_xdevapi\XSession ( void )
NoRewindIterator ( Iterator $iterator )
Normalizer ( )
NumberFormatter ( string $locale , int $style [, string $pattern ] )
OAuth ( string $consumer_key , string $consumer_secret [, string $signature_method = OAUTH_SIG_METHOD_HMACSHA1 [, int $auth_type = 0 ]] )
OAuthException ( )
OAuthProvider ([ array $params_array ] )
OCI-Collection ( )
OCI-Lob ( )
OuterIterator ( )
OutOfBoundsException ( )
OutOfRangeException ( )
OverflowException ( )
parallel\Future ( )
parallel\Runtime ( void )
ParentIterator ( RecursiveIterator $iterator )
Parle\ErrorInfo ( )
Parle\Lexer ( )
Parle\LexerException ( )
Parle\Parser ( )
Parle\ParserException ( )
Parle\RLexer ( )
Parle\RParser ( )
Parle\Stack ( )
Parle\Token ( )
ParseError ( )
PDO ( string $dsn [, string $username [, string $passwd [, array $options ]]] )
PDOException ( )
PDOStatement ( )
Phar ( string $fname [, int $flags [, string $alias ]] )
PharData ( string $fname [, int $flags [, string $alias [, int $format = Phar::TAR ]]] )
PharException ( )
PharFileInfo ( string $entry )
phdfs ( string $ip , string $port )
php_user_filter ( )
pht\AtomicInteger ([ int $value = 0 ] )
pht\HashTable ( )
pht\Queue ( )
pht\Runnable ( )
pht\Thread ( )
pht\Threaded ( )
pht\Vector ([ int $size = 0 [, mixed $value = 0 ]] )
Pool ( int $size [, string $class [, array $ctor ]] )
QuickHashIntHash ( int $size [, int $options ] )
QuickHashIntSet ( int $size [, int $options ] )
QuickHashIntStringHash ( int $size [, int $options = 0 ] )
QuickHashStringIntHash ( int $size [, int $options = 0 ] )
RangeException ( )
RarArchive ( )
RarEntry ( )
RarException ( )
RecursiveArrayIterator ([ mixed $array = array() [, int $flags = 0 ]] )
RecursiveCachingIterator ( Iterator $iterator [, int $flags = self::CALL_TOSTRING ] )
RecursiveCallbackFilterIterator ( RecursiveIterator $iterator , string $callback )
RecursiveDirectoryIterator ( string $path [, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO ] )
RecursiveFilterIterator ( RecursiveIterator $iterator )
RecursiveIterator ( )
RecursiveIteratorIterator ( Traversable $iterator [, int $mode = RecursiveIteratorIterator::LEAVES_ONLY [, int $flags = 0 ]] )
RecursiveRegexIterator ( RecursiveIterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )
RecursiveTreeIterator ( RecursiveIterator|IteratorAggregate $it [, int $flags = RecursiveTreeIterator::BYPASS_KEY [, int $cit_flags = CachingIterator::CATCH_GET_CHILD [, int $mode = RecursiveIteratorIterator::SELF_FIRST ]]] )
Reflection ( )
ReflectionClass ( mixed $argument )
ReflectionClassConstant ( mixed $class , string $name )
ReflectionException ( )
ReflectionExtension ( string $name )
ReflectionFunction ( mixed $name )
ReflectionFunctionAbstract ( )
ReflectionGenerator ( Generator $generator )
ReflectionMethod ( mixed $class , string $name )
ReflectionNamedType ( )
ReflectionObject ( object $argument )
ReflectionParameter ( string $function , string $parameter )
ReflectionProperty ( mixed $class , string $name )
ReflectionType ( )
ReflectionZendExtension ( string $name )
Reflector ( )
RegexIterator ( Iterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )
ResourceBundle ( string $locale , string $bundlename [, bool $fallback ] )
RRDCreator ( string $path [, string $startTime [, int $step = 0 ]] )
RRDGraph ( string $path )
RRDUpdater ( string $path )
RuntimeException ( )
SeasLog ( )
SeekableIterator ( )
Serializable ( )
SessionHandler ( )
SessionHandlerInterface ( )
SessionIdInterface ( )
SessionUpdateTimestampHandlerInterface ( )
SimpleXMLElement ( string $data [, int $options = 0 [, bool $data_is_url = FALSE [, string $ns = "" [, bool $is_prefix = FALSE ]]]] )
SimpleXMLIterator ( string $data [, int $options = 0 [, bool $data_is_url = FALSE [, string $ns = "" [, bool $is_prefix = FALSE ]]]] )
SNMP ( int $version , string $hostname , string $community [, int $timeout = 1000000 [, int $retries = 5 ]] )
SNMPException ( )
SoapClient ( mixed $wsdl [, array $options ] )
SoapFault ( string $faultcode , string $faultstring [, string $faultactor [, string $detail [, string $faultname [, string $headerfault ]]]] )
SoapHeader ( string $namespace , string $name [, mixed $data [, bool $mustunderstand [, string $actor ]]] )
SoapParam ( mixed $data , string $name )
SoapServer ( mixed $wsdl [, array $options ] )
SoapVar ( mixed $data , string $encoding [, string $type_name [, string $type_namespace [, string $node_name [, string $node_namespace ]]]] )
SolrClient ( array $clientOptions )
SolrClientException ( )
SolrCollapseFunction ([ string $field ] )
SolrDisMaxQuery ([ string $q ] )
SolrDocument ( void )
SolrDocumentField ( void )
SolrException ( )
SolrGenericResponse ( void )
SolrIllegalArgumentException ( )
SolrIllegalOperationException ( )
SolrInputDocument ( void )
SolrMissingMandatoryParameterException ( )
SolrModifiableParams ( void )
SolrObject ( void )
SolrParams ( )
SolrPingResponse ( void )
SolrQuery ([ string $q ] )
SolrQueryResponse ( void )
SolrResponse ( )
SolrServerException ( )
SolrUpdateResponse ( void )
SolrUtils ( )
SphinxClient ( void )
SplBool ( )
SplDoublyLinkedList ( void )
SplEnum ([ mixed $initial_value [, bool $strict ]] )
SplFileInfo ( string $file_name )
SplFileObject ( string $filename [, string $open_mode = "r" [, bool $use_include_path = FALSE [, resource $context ]]] )
SplFixedArray ([ int $size = 0 ] )
SplFloat ([ mixed $initial_value [, bool $strict ]] )
SplHeap ( void )
SplInt ([ mixed $initial_value [, bool $strict ]] )
SplMaxHeap ( )
SplMinHeap ( )
SplObjectStorage ( )
SplObserver ( )
SplPriorityQueue ( void )
SplQueue ( void )
SplStack ( void )
SplString ([ mixed $initial_value [, bool $strict ]] )
SplSubject ( )
SplTempFileObject ([ int $max_memory ] )
SplType ([ mixed $initial_value [, bool $strict ]] )
Spoofchecker ( void )
SQLite3 ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key = NULL ]] )
SQLite3Result ( )
SQLite3Stmt ( )
Stomp ([ string $broker = ini_get("stomp.default_broker_uri") [, string $username [, string $password [, array $headers ]]]] )
StompException ( )
StompFrame ([ string $command [, array $headers [, string $body ]]] )
streamWrapper ( void )
SVM ( void )
SVMModel ([ string $filename ] )
SWFAction ( string $script )
SWFBitmap ( mixed $file [, mixed $alphafile ] )
SWFButton ( void )
SWFDisplayItem ( )
SWFFill ( )
SWFFont ( string $filename )
SWFFontChar ( )
SWFGradient ( void )
SWFMorph ( void )
SWFMovie ([ int $version ] )
SWFPrebuiltClip ( mixed $file )
SWFShape ( void )
SWFSound ( string $filename [, int $flags = 0 ] )
SWFSoundInstance ( )
SWFSprite ( void )
SWFText ( void )
SWFTextField ([ int $flags ] )
SWFVideoStream ([ string $file ] )
Swoole\Async ( )
Swoole\Atomic ( )
Swoole\Buffer ( )
Swoole\Channel ( )
Swoole\Client ( )
Swoole\Connection\Iterator ( )
Swoole\Coroutine ( )
Swoole\Event ( )
Swoole\Exception ( )
Swoole\Http\Client ( )
Swoole\Http\Request ( )
Swoole\Http\Response ( )
Swoole\Http\Server ( )
Swoole\Lock ( )
Swoole\Mmap ( )
Swoole\MySQL ( )
Swoole\MySQL\Exception ( )
Swoole\Process ( )
Swoole\Redis\Server ( )
Swoole\Serialize ( )
Swoole\Server ( )
Swoole\Table ( )
Swoole\Timer ( )
Swoole\WebSocket\Frame ( )
Swoole\WebSocket\Server ( )
SyncEvent ([ string $name [, bool $manual = FALSE [, bool $prefire = FALSE ]]] )
SyncMutex ([ string $name ] )
SyncReaderWriter ([ string $name [, bool $autounlock = TRUE ]] )
SyncSemaphore ([ string $name [, int $initialval = 1 [, bool $autounlock = TRUE ]]] )
SyncSharedMemory ( string $name , int $size )
Thread ( )
Threaded ( )
Throwable ( )
tidy ([ string $filename [, mixed $config [, string $encoding [, bool $use_include_path ]]]] )
tidyNode ( void )
TokyoTyrant ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
tokyotyrantexception ( )
TokyoTyrantIterator ( mixed $object )
TokyoTyrantQuery ( TokyoTyrantTable $table )
TokyoTyrantTable ([ string $host [, int $port = TokyoTyrant::RDBDEF_PORT [, array $options ]]] )
Transliterator ( void )
Traversable ( )
TypeError ( )
UConverter ([ string $destination_encoding [, string $source_encoding ]] )
UI\Area ( )
UI\Control ( )
UI\Controls\Box ([ int $orientation = UI\Controls\Box::Horizontal ] )
UI\Controls\Button ( string $text )
UI\Controls\Check ( string $text )
UI\Controls\ColorButton ( )
UI\Controls\Combo ( )
UI\Controls\EditableCombo ( )
UI\Controls\Entry ([ int $type = UI\Controls\Entry::Normal ] )
UI\Controls\Form ( )
UI\Controls\Grid ( )
UI\Controls\Group ( string $title )
UI\Controls\Label ( string $text )
UI\Controls\MultilineEntry ([ int $type ] )
UI\Controls\Picker ([ int $type = UI\Controls\Picker::Date ] )
UI\Controls\Progress ( )
UI\Controls\Radio ( )
UI\Controls\Separator ([ int $type = UI\Controls\Separator::Horizontal ] )
UI\Controls\Slider ( int $min , int $max )
UI\Controls\Spin ( int $min , int $max )
UI\Controls\Tab ( )
UI\Draw\Brush ( UI\Draw\Color $color )
UI\Draw\Brush\Gradient ( )
UI\Draw\Brush\LinearGradient ( UI\Point $start , UI\Point $end )
UI\Draw\Brush\RadialGradient ( UI\Point $start , UI\Point $outer , float $radius )
UI\Draw\Color ([ UI\Draw\Color $color ] )
UI\Draw\Line\Cap ( )
UI\Draw\Line\Join ( )
UI\Draw\Matrix ( )
UI\Draw\Path ([ int $mode = UI\Draw\Path::Winding ] )
UI\Draw\Pen ( )
UI\Draw\Stroke ([ int $cap = UI\Draw\Line\Cap::Flat [, int $join = UI\Draw\Line\Join::Miter [, float $thickness = 1 [, float $miterLimit = 10 ]]]] )
UI\Draw\Text\Font ( UI\Draw\Text\Font\Descriptor $descriptor )
UI\Draw\Text\Font\Descriptor ( string $family , float $size [, int $weight = UI\Draw\Text\Font\Weight::Normal [, int $italic = UI\Draw\Text\Font\Italic::Normal [, int $stretch = UI\Draw\Text\Font\Stretch::Normal ]]] )
UI\Draw\Text\Font\Italic ( )
UI\Draw\Text\Font\Stretch ( )
UI\Draw\Text\Font\Weight ( )
UI\Draw\Text\Layout ( string $text , UI\Draw\Text\Font $font , float $width )
UI\Exception\InvalidArgumentException ( )
UI\Exception\RuntimeException ( )
UI\Executor ( void )
UI\Key ( )
UI\Menu ( string $name )
UI\MenuItem ( )
UI\Point ( float $x , float $y )
UI\Size ( float $width , float $height )
UI\Window ( string $title , Size $size [, bool $menu = FALSE ] )
UnderflowException ( )
UnexpectedValueException ( )
V8Js ([ string $object_name = "PHP" [, array $variables = array() [, array $extensions = array() [, bool $report_uncaught_exceptions = TRUE ]]]] )
V8JsException ( )
VARIANT ( )
VarnishAdmin ([ array $args ] )
VarnishLog ([ array $args ] )
VarnishStat ([ array $args ] )
Volatile ( )
Vtiful\Kernel\Excel ( array $config )
Vtiful\Kernel\Format ( )
WeakMap ( void )
WeakRef ( object $object )
wkhtmltox\Image\Converter ([ string $buffer [, array $settings ]] )
wkhtmltox\PDF\Converter ([ array $settings ] )
wkhtmltox\PDF\Object ( string $buffer [, array $settings ] )
Worker ( )
XMLDiff\Base ( string $nsname )
XMLDiff\DOM ( string $nsname )
XMLDiff\File ( string $nsname )
XMLDiff\Memory ( string $nsname )
XMLReader ( )
XSLTProcessor ( )
Yaconf ( )
Yaf_Action_Abstract ( void )
Yaf_Application ( mixed $config [, string $envrion ] )
Yaf_Bootstrap_Abstract ( )
Yaf_Config_Abstract ( )
Yaf_Config_Ini ( string $config_file [, string $section ] )
Yaf_Config_Simple ( string $config_file [, string $section ] )
Yaf_Controller_Abstract ( void )
Yaf_Dispatcher ( void )
Yaf_Exception ( void )
Yaf_Exception_DispatchFailed ( void )
Yaf_Exception_LoadFailed ( void )
Yaf_Exception_LoadFailed_Action ( void )
Yaf_Exception_LoadFailed_Controller ( void )
Yaf_Exception_LoadFailed_Module ( void )
Yaf_Exception_LoadFailed_View ( void )
Yaf_Exception_RouterFailed ( void )
Yaf_Exception_StartupError ( void )
Yaf_Exception_TypeError ( void )
Yaf_Loader ( void )
Yaf_Plugin_Abstract ( )
Yaf_Registry ( void )
Yaf_Request_Abstract ( )
Yaf_Request_Http ([ string $request_uri [, string $base_uri ]] )
Yaf_Request_Simple ([ string $method [, string $module [, string $controller [, string $action [, array $params ]]]]] )
Yaf_Response_Abstract ( void )
Yaf_Router ( void )
Yaf_Route_Interface ( )
Yaf_Route_Map ([ string $controller_prefer = FALSE [, string $delimiter = "" ]] )
Yaf_Route_Regex ( string $match , array $route [, array $map [, array $verify [, string $reverse ]]] )
Yaf_Route_Rewrite ( string $match , array $route [, array $verify ] )
Yaf_Route_Simple ( string $module_name , string $controller_name , string $action_name )
Yaf_Route_Static ( )
Yaf_Route_Supervar ( string $supervar_name )
Yaf_Session ( void )
Yaf_View_Interface ( )
Yaf_View_Simple ( string $template_dir [, array $options ] )
Yar_Client ( string $url [, array $options ] )
Yar_Client_Exception ( )
Yar_Concurrent_Client ( )
Yar_Server ( Object $obj )
Yar_Server_Exception ( )
ZipArchive ( )
ZMQ ( void )
ZMQContext ([ int $io_threads = 1 [, bool $is_persistent = TRUE ]] )
ZMQDevice ( ZMQSocket $frontend , ZMQSocket $backend [, ZMQSocket $listener ] )
ZMQPoll ( )
ZMQSocket ( ZMQContext $context , int $type [, string $persistent_id = NULL [, callback $on_new_socket = NULL ]] )
Zookeeper ([ string $host = '' [, callable $watcher_cb = NULL [, int $recv_timeout = 10000 ]]] )
ZookeeperAuthenticationException ( )
ZookeeperConfig ( )
ZookeeperConnectionException ( )
ZookeeperException ( )
ZookeeperMarshallingException ( )
ZookeeperNoNodeException ( )
ZookeeperOperationTimeoutException ( )
ZookeeperSessionException ( )

Some files were not shown because too many files have changed in this diff Show more