Page 4 of 9

Re: Еще один текстовый редактор

Posted: Sun May 30, 2021 1:30 am
by Leency
В INI комментарии могут идти начинаться с символа #
Окну бы системные цвета.

Re: Еще один текстовый редактор

Posted: Mon May 31, 2021 7:05 pm
by akron1
Leency wrote:В INI комментарии могут идти начинаться с символа #.
Я добавил для INI подсветку #-комментариев. Отмечу, что функция ini_get_str из библиотеки libini.obj игнорирует комментарии (как ";", так и "#"). Но, если считается, что "#" это комментарий, то я исправил также и файл cedit.ini: директивы препроцессора для C теперь задаются без "#":

Code: Select all

KW2 = define,error,include...
вместо

Code: Select all

KW2 = #define,#error,#include...
Leency wrote:Окну бы системные цвета.
Я попробовал использовать системные цвета, но получается вот такая жуть:
Spoiler:
1.png
1.png (23.11 KiB)
Viewed 6132 times
Ясно, что для тулбара цвет должен отличаться от цвета обычных кнопок. При этом, цвет должен сочетаться с цветом окна и, кроме того, нужно нарисовать "тень" от кнопок. Цвет "тени" тоже должен сочетаться с цветом окна и цветом кнопок тулбара. В общем, как мне кажется, системные цвета подходят только для программ с простым интерфейсом.

Re: Еще один текстовый редактор

Posted: Tue Jun 01, 2021 12:10 am
by Leency
Цвет текста на кнопках не верный - должен быть белый.
Для тулбара цвет кнопки не ок. Можно юзать .color_light и тень это .work

Или вычислять самому.
Я в С-- программах заморочился (WebView, Quark), но зато с любым скином выглядит гуд.
Spoiler:

Code: Select all

:bool skin_is_dark()
{
	if (to_gray(sc.work) < 65) {
		return true; 
	} else {
		return false;
	}
}

unsigned int DrawTopPanelButton(dword _button_id, _x, _y, signed int _icon_n, bool pressed)
{
	#define TSZE 25
	static libimg_image top_icons;
	static dword semi_white=0, bg_col_light, bg_col_dark;
	int i;
	if (!semi_white) {
		top_icons.load("/sys/icons16.png");

		semi_white = MixColors(sc.work, 0xFFFfff, skin_is_dark()*90 + 96);
		bg_col_dark = MixColors(sc.work, sc.work_graph, 90);
		bg_col_light = MixColors(semi_white, 0xFFFfff, skin_is_dark()*90 + 10);

		top_icons.replace_color(0xffFFFfff, semi_white);
		top_icons.replace_color(0xffCACBD6, MixColors(semi_white, 0, 220));
	}

	DrawWideRectangle(_x+1, _y+1, TSZE, TSZE, 5, semi_white);

	DefineHiddenButton(_x, _y, TSZE+1, TSZE+1, _button_id);
	if (_icon_n==-1) {
		DrawBar(_x+6, _y+5, 16, 16, semi_white);
		for (i=0; i<=2; i++) DrawBar(_x+6, i*5+_y+7, 15, 3, sc.work_graph);
	} else {
		img_draw stdcall(top_icons.image, _x+6, _y+5+pressed, 16, 16, 0, _icon_n*16);
	}

	if (!pressed) {
		DrawOvalBorder(_x, _y, TSZE, TSZE, bg_col_light, bg_col_dark, semi_white, sc.work);
	} else {
		DrawOvalBorder(_x, _y, TSZE, TSZE, sc.work_graph, bg_col_light, semi_white, sc.work);
		PutShadow(_x+1, _y+1, TSZE, TSZE, true, 2);
	}

	return _x;
}

Re: Еще один текстовый редактор

Posted: Thu Jun 03, 2021 2:17 am
by akron1
Я решил пока оставить фиксированный цвет тулбара и меню. Остальное настраивается.
Spoiler:
1.png
1.png (23.64 KiB)
Viewed 6048 times

Re: Еще один текстовый редактор

Posted: Sat Jun 05, 2021 6:11 pm
by Leency
Когда открыта панель поиска хорошо бы скрывать её по Escape.
Shift+F3 не перемещает на предыдущий результат, может другая комбинация используется?

Re: Еще один текстовый редактор

Posted: Sun Jun 06, 2021 7:28 am
by akron1
Leency wrote:Когда открыта панель поиска хорошо бы скрывать её по Escape.
Shift+F3 не перемещает на предыдущий результат, может другая комбинация используется?
Сделано.
Также, добавлен пункт меню view->x2 (увеличить шрифт) и увеличен стартовый размер окна.

Re: Еще один текстовый редактор

Posted: Tue Jun 08, 2021 3:53 am
by Leency
CEDIT заменяет табы на пробелы? Нехорошо :)

В Си не хватает подсветки для функций и всяких операндов вроде =,+,&&
Ещё неплохо бы bool, dword, word, byte, true, false.

На реальной машине полёт отличный.
Spoiler:
SCREEN_2.PNG
SCREEN_2.PNG (980.35 KiB)
Viewed 5860 times

Re: Еще один текстовый редактор

Posted: Tue Jun 08, 2021 9:27 am
by denius
1akron, в одной из бесед ВК, мы обсудили дальнейшие планы по улучшению редактора CEdit...один из участников пожаловался что не хватает вкладок для редактирования всяких нужных подключений библиотек и хедеров для дальнейшей сборки в единый проект после компиляции. P.S. Возможно не так выражаюсь, но все же вы наверняка поймете о чем я :)

Re: Еще один текстовый редактор

Posted: Thu Jun 10, 2021 8:40 pm
by turbocat
Привет! Реально самый лучший текстовый редактор для кос! Собирать и запускать программы очень удобно! Не лагает не падает! Подсветка синтаксиса красота.

Re: Еще один текстовый редактор

Posted: Sun Jun 13, 2021 12:14 am
by Leency
Теперь иконки не 16х16 а 18х18. Пожалуйста, обновите программу.

Также есть баг:

1. изменить файл
2. закрыть => отобразился диалог да/нет
3. нажимаем Enter

Факт. результат: создается новая строка в тексте
Ожидаемый результат: файл сохранился, программа закрылась.

Re: Еще один текстовый редактор

Posted: Mon Jun 14, 2021 12:51 am
by akron1
Leency wrote:CEDIT заменяет табы на пробелы?
Да, для упрощения сделал так, а теперь не знаю, можно ли как-нибудь это переделать. Простых решений я тут не вижу...
Впрочем, все другие редакторы для KolibriOS делают так же.
Leency wrote:В Си не хватает подсветки для функций и всяких операндов вроде =,+,&&
Ещё неплохо бы bool, dword, word, byte, true, false.
Я использовал список ключевых слов в Си из устаревшего стандарта C89.
Если этого мало, то можно добавить недостающие ключевые слова по своему вкусу в файл /rd/1/settings/cedit.ini
Сделать подсветку для символов операций (=,+,&&...) непросто. Дело в том, что "/" и "*" обозначают как операции так и комментарии. И для этого надо переделывать алгоритмы подсветки.
Leency wrote:На реальной машине полёт отличный.
На моей машине, при пролистывании, загружает процессор в 2 раза больше чем tinypad, но в 2 раза меньше, чем t_edit.
Leency wrote:Теперь иконки не 16х16 а 18х18.
Сделано.
Leency wrote:Также есть баг...
Сделано.

Re: Еще один текстовый редактор

Posted: Mon Jun 14, 2021 1:56 am
by Doczom
Привет.
Редактор очень хороший, но хотел бы узнать, при запуске программы для сборки этой программе передаётся название файла или нет? не и так. может немного расстояние между краем окна и текстового поля уменьшить?

Re: Еще один текстовый редактор

Posted: Mon Jun 14, 2021 10:35 am
by Leency
>> может немного расстояние между краем окна и текстового поля уменьшить?

Учти что по 5 пикселей с каждой стороны это ободок окна. Визуально ободок 1 пиксель, на самом деле 5. Просто 4 внутренних линии цвета фона.

Re: Еще один текстовый редактор

Posted: Mon Jun 14, 2021 10:36 am
by Leency
akron1
Спасибо.
Жду табы.
Ах да, ещё иконки в тулбаре моргают при перерисовке. Лучше сразу выводить нужные, а не поверх.

Re: Еще один текстовый редактор

Posted: Tue Jun 15, 2021 3:19 pm
by denius
Добрый день, akron1! Я на днях узнал что вы лично написали компилятор Oberon07. Вы просто молодцы! Я не был в курсе раннее. Когда будет обновление компилятора? Просто последняя версия выпущена вами в 2013 году. Может есть что улучшить на сегодня? :) :) :)