Skip to content

Commit 707913e

Browse files
authored
Merge pull request #101 from jphp-compiler/master-16.5
Master 16.5
2 parents 83cd433 + bcb2e9b commit 707913e

File tree

20 files changed

+117
-49
lines changed

20 files changed

+117
-49
lines changed

build.gradle

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,8 @@ project(':jphp-desktop-hotkey-ext') {
135135

136136
project(':jphp-systemtray-ext') {
137137
dependencies {
138-
compile (project(':jphp-gui-ext')) {
139-
transitive = false
140-
}
141-
142138
compile "org.develnext.jphp:jphp-runtime:$jphpVersion"
139+
provided project(':jphp-gui-ext')
143140
}
144141
}
145142

develnext/launcher/DevelNext.exe

0 Bytes
Binary file not shown.

develnext/misc/HelpForPatch.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ How to install a patch for DevelNext?
55
- If you cannot use a patch setup follow the next instructions:
66

77
1. Shutdown all instances of DevelNext!
8-
2. Remove the `lib` directory in the develnext directory.
8+
2. Remove the `lib` and `library` directories in the develnext directory.
99
3. Unpack all files from a patch setup and replace all files.
1010
4. Start DevelNext!
1111

@@ -17,7 +17,7 @@ How to install a patch for DevelNext?
1717
- Если вы не можете использовать инсталятор, следуйте инструкциями:
1818

1919
1. Закройте все экземпляры программы DevelNext!
20-
2. Удалить папку `lib` из директории DN.
20+
2. Удалить папку `lib` и `library` из директории DN.
2121
3. Распакуйте все файла из архива с патчем, заменив все!
2222
4. Запускайте DevelNext!
2323

develnext/misc/history.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
16.5.1 (25.03.2017)
2+
---------------
3+
- Доработано: компоненту "Контейнер" в редакторе добавлены свойства fitToWidth и fitToHeight.
4+
- Доработано: теперь остановить запущенный проект из среды можно горячей клавишей F9.
5+
- Исправлено: пакет расширений System Tray нарушал конечную сборку проектов, проекты не собирались корректным образом.
6+
- Исправлено: при повторном нажатии на F9 запускалась копия проекта.
7+
- Исправлено: некорректная работа констант __FUNCTION__ и __METHOD__ внутри анонимных функций при некоторых обстоятельствах.
8+
- Исправлено: возникала ошибка в редакторе кода при действиях "Отменить" и "Вернуть".
9+
- Исправлено: действие "Отменить" CTRL + Z в редакторе кода, при отсутствии истории изменений, удаляло весь текст.
10+
- Исправлено: возникала ошибка 'The node must have parent value' в редакторе форм при переносе компонентов на форму.
11+
112
16.5.0 (12.03.2017)
213
---------------
314
- Новое: добавлено дерево для навигации по файлам проекта.

develnext/src/.system/application.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# MAIN CONFIGURATION
22

33
app.name = DevelNext
4-
app.version = 16.5.0
5-
app.hash = 2017031212
4+
app.version = 16.5.1
5+
app.hash = 2017032512
66
app.uuid =
77
app.implicitExit = 0
88

develnext/src/ide/build/AntOneJarBuildType.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ public static function makeAntBuildFile(Project $project, array $config)
7474
$classPaths = $bundleBehaviour->getSourceDirectories();
7575
}
7676

77-
print_r($classPaths);
78-
7977
foreach ($classPaths as $src) {
8078
$excludes = ".debug/** **/*.source **/*.sourcemap **/*.axml";
8179

@@ -136,10 +134,18 @@ public static function makeAntBuildFile(Project $project, array $config)
136134
$extList = '';
137135
$oneJarContent = [];
138136

137+
$addedModuleNames = [];
138+
139139
foreach ($project->getModules() as $module) {
140140
if ($module->getType() == 'jarfile') {
141141
$name = fs::name($module->getId());
142142

143+
if ($addedModuleNames[$name]) {
144+
continue;
145+
}
146+
147+
$addedModuleNames[$name] = 1;
148+
143149
if ($php = PhpProjectBehaviour::get()) {
144150
$excl = $php->isByteCodeEnabled() ? '**/*.php' : '';
145151
} else {

develnext/src/ide/build/ant/buildDist.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
</jar>
4040

4141
<delete dir="${dist}/gen" failonerror="false" />
42-
<delete dir="${dist}/lib" failonerror="false" />
42+
<!--<delete dir="${dist}/lib" failonerror="false" />-->
4343
</target>
4444

4545
<target name="clean" description="clean up">

develnext/src/ide/commands/ExecuteProjectCommand.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
use php\lang\Thread;
2828
use php\lang\ThreadPool;
2929
use php\lib\arr;
30+
use php\lib\fs;
3031
use php\lib\number;
3132
use php\lib\Str;
3233
use php\time\Time;
@@ -88,7 +89,7 @@ public function makeUiForHead()
8889
{
8990
$this->stopButton = $this->makeGlyphButton();
9091
$this->stopButton->graphic = Ide::get()->getImage('icons/square16.png');
91-
$this->stopButton->tooltipText = 'Завершить выполнение программы';
92+
$this->stopButton->tooltipText = 'Завершить выполнение программы (F9)';
9293
$this->stopButton->on('action', [$this, 'onStopExecute']);
9394
$this->stopButton->enabled = false;
9495

@@ -117,7 +118,7 @@ public function onStopExecute(UXEvent $e = null, callable $callback = null)
117118

118119
$proc = function () use ($appPidFile, $ide, $mainForm, $callback) {
119120
try {
120-
$pid = Stream::getContents($appPidFile);
121+
$pid = fs::get($appPidFile);
121122

122123
if ($pid) {
123124
if ($ide->isWindows()) {
@@ -188,6 +189,11 @@ public function tryShowConsole()
188189

189190
public function onExecute($e = null, AbstractEditor $editor = null)
190191
{
192+
if ($this->isRunning()) {
193+
$this->onStopExecute(null);
194+
return;
195+
}
196+
191197
$ide = Ide::get();
192198
$project = $ide->getOpenedProject();
193199

develnext/src/ide/editors/CodeEditor.php

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
use php\io\Stream;
5757
use php\lang\IllegalArgumentException;
5858
use php\lang\IllegalStateException;
59+
use php\lang\JavaException;
5960
use php\lib\Char;
6061
use php\lib\fs;
6162
use php\lib\Items;
@@ -363,8 +364,23 @@ public function doChange($now = false)
363364
public function executeCommand($command)
364365
{
365366
switch ($command) {
366-
case 'undo': $this->textArea->undo(); break;
367-
case 'redo': $this->textArea->redo(); break;
367+
case 'undo':
368+
try {
369+
$this->textArea->undo();
370+
} catch (\Exception $e) {
371+
Logger::warn("Undo fail: " . $e->getMessage());
372+
// fix bug.
373+
}
374+
break;
375+
376+
case 'redo':
377+
try {
378+
$this->textArea->redo();
379+
} catch (\Exception $e) {
380+
Logger::warn("Redo fail: " . $e->getMessage());
381+
// fix bug.
382+
}
383+
break;
368384
case 'copy': $this->textArea->copy(); break;
369385
case 'cut': $this->textArea->cut(); break;
370386
case 'paste': $this->textArea->paste(); break;
@@ -415,7 +431,8 @@ public function setValue($value)
415431
public function loadContentToAreaIfModified()
416432
{
417433
if (!$this->contentLoaded || $this->fileTime != fs::time($this->file)) {
418-
$this->loadContentToArea(false);
434+
$resetHistory = !$this->contentLoaded;
435+
$this->loadContentToArea($resetHistory);
419436
}
420437
}
421438

develnext/src/ide/formats/form/elements/DatePickerFormElement.php

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -64,20 +64,22 @@ public function createElement()
6464

6565
public function registerNode(UXNode $node)
6666
{
67-
/** @var UXDatePicker $node */
68-
$data = DataUtils::get($node);
69-
$format = $data->get('format');
70-
$value = $data->get('value');
71-
72-
UXApplication::runLater(function () use ($format, $value, $node) {
73-
if ($format) {
74-
$node->format = $format;
75-
}
76-
77-
if ($value) {
78-
$node->value = $value;
79-
}
80-
});
67+
if ($node->parent) { // fix bug.
68+
/** @var UXDatePicker $node */
69+
$data = DataUtils::get($node);
70+
$format = $data->get('format');
71+
$value = $data->get('value');
72+
73+
UXApplication::runLater(function () use ($format, $value, $node) {
74+
if ($format) {
75+
$node->format = $format;
76+
}
77+
78+
if ($value) {
79+
$node->value = $value;
80+
}
81+
});
82+
}
8183
}
8284

8385

0 commit comments

Comments
 (0)