jphp-group / develnext Goto Github PK
View Code? Open in Web Editor NEWJavaFX and IDE for JPHP (only russian localization, english - in progress)
Home Page: http://develnext.org
License: Mozilla Public License 2.0
JavaFX and IDE for JPHP (only russian localization, english - in progress)
Home Page: http://develnext.org
License: Mozilla Public License 2.0
class A
{
public static function __callStatic($method, $args = [])
{
echo get_called_class() . '::' . $method . "\n";
}
}
class B extends A {}
\php\gui\UXApplication::launch(function(\php\gui\UXForm $form) {
$button = new \php\gui\UXButton();
$button->text = 'TEST!';
$button->on('click', function(){ B::test(); });
$form->add($button);
$form->show();
});
B::test
Fatal error: Uncaught exception 'EngineException' with message 'Missing argument 1 ($method) for A::__callStatic()' in JPHP-INF/.bootstrap.php on line 24, position 10
Stack Trace:
#0 {closure}() called at [JPHP-INF/.bootstrap.php:23]
#1 {main}
thrown in JPHP-INF/.bootstrap.php on line 24
Система для возможности добавления компонентам различных эффектов javafx, например drow shadow (тень), blur и многое другое. Реализовать через поведения.
Hi,
I'm really enthusiastic with your project. There are a lot of things i want to do with Jphp.
When will be the v0.7.2 release date?
Have a nice day.
Если в конструкторе модуля создать экземпляр какого-нибудь gui класса, программа не соберётся.
Минимальный код:
class MainModule extends AbstractModule
{
public function __construct(){
$a = new \php\gui\UXButton;
}
}
выкинет JavaException: ExceptionInInitializerError ...
Добавьте в Alpha-5 таблицы, ну прям без них за среду и браться не получается
Если в DN создать много форм,то "+" исчезает и создать новую форму нельзя. Если создать форму с помощью списка,то создаётся форма без названия и вообще без всего.
Если вкладка "Документация" уже была открыта, то при нахождении в другой вкладке и осуществлении поиска (нажатия на кнопку найти), поиск осуществляется, но на вкладку не перекидывает.
Бага не критичная, но надо убрать этот exception:
php\lang\IllegalStateException: java.lang.IllegalStateException: Platform.exit has been called
in file 'res://ide/account/api/AbstractService.php', on line 334
in project ''
#0 script\TimerScript->doInterval() called at [res://script/TimerScript.php:98]
#1 php\gui\framework\AbstractScript->trigger() called at [res://script/TimerScript.php:126]
#2 ide\account\ServiceManager->updateStatus() called at [res://php/gui/framework/AbstractScript.php:170]
#3 ide\account\api\AbstractService->statusAsync() called at [res://ide/account/ServiceManager.php:214]
#4 ide\account\api\AbstractService->__call() called at [res://ide/account/ServiceManager.php:214]
#5 uiLater() called at [res://ide/account/api/AbstractService.php:334]
#6 {main}
С возможностью добавления в проект, удаления из проекта.
Реализовать модульный компонент для ИНИ файлов, создать специальную вкладку компонентов "Хранилища данных".
Компиляция проекта в байткод (в файлы phb), исходники надо удалять.
Код:
function doButtonAction(UXEvent $event = null)
{
$a = ['a', 'b', 'c'];
$this->method($a);
var_dump($a); // NULL ???
}
public function method()
{
func_get_args();
}
Реализовать аналогичный сервису "поиск иконок" новый сервис "поиск картинок". Также требуется база картинок под этот сервис из игровых спрайтов и других изображений (например фоны). В диалоге выбора иконки/картинки реализовать дополнительную вкладку "Поиск картинок и спрайтов".
В диалоге "открытие проекта" реализовать новую вкладку, для открытия опубликованных проектов на сайте develnext.org, не забыть про функцию удаления проекта из списка (которая будет удалять проект с сайта develnext.org). Возможно необходима функция простого скрытия проекта в этом списке, если пользователь не захочет удалять проект, но не захочет видеть его в своем списке проектов.
Сортировка проектов в порядке самые последние обновленные.
Редко но возникает ошибка в автодополнении:
php\lang\JavaException: java.lang.NullPointerException
in file 'res://ide/autocomplete/ui/AutoCompletePane.php', on line 279
#0 {closure}() called at [res://ide/autocomplete/ui/AutoCompletePane.php:371]
#1 php\gui\designer\UXSyntaxTextArea->insertToCaret() called at [res://ide/autocomplete/ui/AutoCompletePane.php:279]
#2 {main}
Группа хранилище данных
, для хранения и чтения данных из xml.
Скорее всего он возвращает value, а не text.
Каким-то странным образом содержимое файлов с поведением становится пустым, возможно по причине утери данных, отключения света и т.д, но возможно и нет. Нужно предотвратить данный тип ошибки, сообщать пользователю, что файл поврежден и предлагать создать новый чистый файл.
php\format\ProcessorException: Content is not allowed in prolog.
in file 'res://php/gui/framework/behaviour/custom/BehaviourLoader.php', on line 86
#0 {closure}() called at [res://ide/editors/WelcomeEditor.php:41]
#1 ide\Ide->executeCommand() called at [res://ide/editors/WelcomeEditor.php:42]
#2 ide\commands\OpenProjectCommand->onExecute() called at [res://ide/Ide.php:658]
#3 ide\forms\OpenProjectForm->showDialog() called at [res://ide/commands/OpenProjectCommand.php:42]
#4 php\gui\UXForm->showAndWait() called at [res://ide/forms/mixins/DialogFormMixin.php:30]
#5 {closure}() called at [res://timer/AccurateTimer.php:158]
#6 {closure}() called at [res://timer/AccurateTimer.php:159]
#7 ide\systems\ProjectSystem::open() called at [res://ide/forms/OpenProjectForm.php:292]
#8 ide\project\Project->open() called at [res://ide/systems/ProjectSystem.php:247]
#9 ide\systems\FileSystem::open() called at [res://ide/project/Project.php:583]
#10 ide\systems\FileSystem::fetchEditor() called at [res://ide/systems/FileSystem.php:235]
#11 ide\editors\FormEditor->load() called at [res://ide/systems/FileSystem.php:212]
#12 ide\editors\FormEditor->loadOthers() called at [res://ide/editors/FormEditor.php:455]
#13 ide\behaviour\IdeBehaviourManager->load() called at [res://ide/editors/FormEditor.php:432]
#14 php\gui\framework\behaviour\custom\BehaviourLoader::load() called at [res://ide/behaviour/IdeBehaviourManager.php:194]
#15 php\xml\XmlProcessor->parse() called at [res://php/gui/framework/behaviour/custom/BehaviourLoader.php:86]
#16 {main}
Возникают иногда синтаксические ошибки, которые никак не показываются.
Как их использовать здесь?
Перетащил объект в угол, зажал вправо, теперь объект как бы движется вправо пока не достигнет границ, потом слева опять начинает, дак вот, а если при этом (зажав кнопку вправо) потерять фокус с формы, то объект продолжит уже без моих команд ехать вправо, так происходит с любых направлением.
Class 'Json' not found
Ошибка в файле 'res://ide/account/api/ServiceResponse.php'
-> на строке 67
#0 {closure}() called at [res://ide/account/api/AbstractService.php:325]
#1 {closure}() called at [res://ide/account/api/AbstractService.php:327]
#2 ide\account\api\ServiceResponse->toLog() called at [res://ide/commands/ShareProjectCommand.php:1]
#3 {main}
Иногда воспроизводится, очень редко:
Причина бага неясна.
php\lang\JavaException: java.lang.NullPointerException
in file 'res://ide/editors/FormEditor.php', on line 844
#0 {closure}() called at [res://ide/editors/value/TextPropertyEditor.php:43]
#1 ide\editors\value\IdPropertyEditor->showDialog() called at [res://ide/editors/value/TextPropertyEditor.php:44]
#2 ide\editors\value\TextPropertyEditor->showDialog() called at [res://ide/editors/value/IdPropertyEditor.php:47]
#3 ide\editors\value\IdPropertyEditor->applyValue() called at [res://ide/editors/value/TextPropertyEditor.php:74]
#4 ide\systems\RefactorSystem::rename() called at [res://ide/editors/value/IdPropertyEditor.php:55]
#5 ide\project\ProjectRefactorManager->rename() called at [res://ide/systems/RefactorSystem.php:30]
#6 ide\project\ProjectRefactorManager->trigger() called at [res://ide/project/ProjectRefactorManager.php:30]
#7 {closure}() called at [res://ide/misc/EventHandlerBehaviour.php:29]
#8 ide\editors\FormEditor->changeNodeId() called at [res://ide/formats/GuiFormFormat.php:285]
#9 php\gui\UXNode->lookup() called at [res://ide/editors/FormEditor.php:844]
#10 {main}
При создании проекта на Mac OS X среда полностью зависает, а в терминале спустя некоторое время появляется следующая ошибка:
INFO [ide.project.Project] (2016-01-25 20:27:01) Project is saved.
INFO [ide.editors.AbstractEditor] (2016-01-25 20:27:02) Open editor for: /Users/wielski/Documents/DevelNext/Projects/wURL/src/.forms/MainForm.fxml
INFO [ide.editors.FormEditor] (2016-01-25 20:27:02) Start refresh
INFO [ide.editors.FormEditor] (2016-01-25 20:27:02) Finish refresh
2016-01-25 20:27:05.856 java[21747:398194] Communications error: <OS_xpc_error: <error: 0x7fff7809db60> { count = 1, contents =
"XPCErrorDescription" => <string: 0x7fff7809dfa8> { length = 22, contents = "Connection interrupted" }
}>
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/scene/input/KeyCombination
at org.develnext.jphp.ext.javafx.bind.KeyCombinationMemoryOperation.getOperationClasses(KeyCombinationMemoryOperation.java:13)
at php.runtime.memory.support.MemoryOperation.register(MemoryOperation.java:235)
at php.runtime.ext.support.Extension.registerMemoryOperation(Extension.java:102)
at org.develnext.jphp.ext.javafx.JavaFXExtension.onRegister(JavaFXExtension.java:75)
at php.runtime.env.CompileScope.registerExtension(CompileScope.java:332)
at php.runtime.env.CompileScope.registerExtension(CompileScope.java:292)
at php.runtime.env.CompileScope.registerExtension(CompileScope.java:284)
at php.runtime.launcher.Launcher.initExtensions(Launcher.java:219)
at php.runtime.launcher.Launcher.run(Launcher.java:247)
at php.runtime.launcher.Launcher.run(Launcher.java:241)
at php.runtime.launcher.Launcher.run(Launcher.java:237)
at php.runtime.launcher.Launcher.main(Launcher.java:328)
Caused by: java.lang.ClassNotFoundException: javafx.scene.input.KeyCombination
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 12 more
Группа Хранилище данных
, альтернатива ини-файлам.
Ошибка в файле 'res://ide/formats/form/context/DeleteMenuCommand.php'
-> на строке 49
#0 {closure}() called at [res://ide/editors/menu/ContextMenu.php:96]
#1 ide\formats\form\context\DeleteMenuCommand->onExecute() called at [res://ide/editors/menu/ContextMenu.php:97]
#2 php\gui\designer\UXDesigner->selectNode() called at [res://ide/formats/form/context/DeleteMenuCommand.php:49]
#3 {main}
После такого, среда перестает нормально функционировать.
От себя могу сказать, что это типичная проблема с Ubuntu, где окна, которые не имеют минимальные размеры ведут себя непредсказуемо.
Реализовать автодополнение для выражений $this->form('FormName')->...
По нажатию на кнопку, мы должны переходить на контент таба, внутри которого списком должны отображаться варианты того что можно создать (форма, модуль и т.п.). Необходимо реализовать расширяемую систему по добавлению пунктов в этот таб.
Скрин http://cs629525.vk.me/v629525363/3ca23/vo2YSI-rYcA.jpg
Воспроизведение
Проект, где воспроизводится http://develnext.org/project/jGKdrXHNCX
Запретить добавление в игровую комнату вообще, т.к. она предназначается для загрузки сцен из других формю
При закрытии вкладки Welcome в DevelNext Beta-1 появляется ошибка:
EngineException
Cannot call 'getFormEditors' method of non-object
Ошибка в файле 'res://ide/project/control/FormsProjectControlPane.php'
-> на строке 70
#0 {closure}() called at [res://ide/ui/ListMenu.php:20]
#1 ide\ui\ListMenu->cellRender() called at [res://ide/ui/ListMenu.php:21]
#2 ide\project\control\AbstractEditorsProjectControlPane->getMenuCount() called at [res://ide/ui/ListMenu.php:51]
#3 ide\project\control\FormsProjectControlPane->getItems() called at [res://ide/project/control/AbstractEditorsProjectControlPane.php:91]
#4 {main}
Расширение jphp-orientdb-ext
, + модульный компонент для коннекта к этой базе.
php\io\IOException: Cannot seek to 0
in file 'res://ide/utils/PhpParser.php', on line 580
#0 {closure}() called at [res://ide/editors/form/IdeEventListPane.php:423]
#1 {closure}() called at [res://ide/editors/form/IdeEventListPane.php:424]
#2 ide\formats\form\SourceEventManager->addBind() called at [res://ide/editors/form/IdeEventListPane.php:712]
#3 ide\utils\PhpParser->addUseImports() called at [res://ide/formats/form/SourceEventManager.php:392]
#4 ide\utils\PhpParser->findUseImports() called at [res://ide/utils/PhpParser.php:559]
#5 ide\utils\PhpParser->getTokenizer() called at [res://ide/utils/PhpParser.php:459]
#6 php\io\MiscStream->seek() called at [res://ide/utils/PhpParser.php:580]
#7 {main}
Если в редакторе добавить из прототипов объект, потом его скопировать - получится копия-клон. Эта копия клон в дальнейшем в редакторе не копируется и не вставляется.
При открытии проектов с сайта develnext, убрать открытие последнего проекта.
Проект где воспроизводится: http://develnext.org/project/IMhXNJjlWJ
Например у форм и модулей есть свои свойства, у форм title
, поэтому именовать так компоненты нельзя, необходимо запретить так делать на уровне IDE в диалоге переименования.
При drag-n-drop объектов в визуальном редакторе добавить опцию, включающую показ окантовки при перемещении объекта. Некоторые объекты, такие как "текст", неудобно перемещать без окантовки.
Реализовать механизм автоматической очистки файлов кеша среды из папки {home}/.DevelNext/cache
, удалять старые файлы, которые были созданы более 1 недели назад. Также возможно подумать о том, чтобы обновлять время изменения файлов при их запросе средой, чтобы дать знать системе, что эти файлы из кеша еще используются.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.