m9가 만들고 있는 럭셔리 퍼펙트한 에디터.
python과 pygtk, gtk 기반.


1. 2004-07-27

env 객체의 기능 강화. pie.py에서 중복 기능 제거.
documentManager를 document의 pointer로 쓰는 대신 documentManager.getDocument()를 사용하도록 고침.
utf8 인코딩을 알리는 주석을 모든 페이지에 첨가.
현재 커서의 위치를 line, char로 상세히 표시하는 기본 기능 구현.


2. 2004-07-01

새 파일을 저장하는데 문제가 발견되었다. 고쳤다...(이런 쓸모없는;;; )
대문자 단축키가 안 먹히는 문제가 있어서 추가했다.
/usr/bin에 심볼릭 링크를 추가했다.
LineMover(네이밍 센스하고는...) 클래스 추가.
Ctrl + G로 라인 이동.
text iter & mark & buffer & view의 하모니는 아직도 적응이 안 되고 있다.

중요한 걸 하나 빼먹을 뻔 했는데,
status bar에 is modified, line number가 출력된다. 후후.

3. 2004-06-20

Toolbar를 추가하려는데 pygtk2.4에서 deprecated들 때문에 조금 애먹었다.
여하튼 툴바가 나온다. 테마 때문이긴 하지만 열라 이쁘다. 오오...
소스는 100% PIE만을 사용해서 고쳤는데 오픈과 세이브 과정에서 문제를 일으키지 않고 있다.
아주 기특하다.

4. 2004-06-15

내가 짠 것은 아니지만, 상당히 예쁜 테마 덕분에 대단히 잘 만든 프로그램처럼 보인다. 상당히 볼만하다. DocumentManager 클래스와 Notebook 위젯의 통합, Document 클래스의 매니징이 완료되었다. 이것은 더 멋진데, 오픈 세이브를 몇번 테스트 해 보아도 문제가 없다. 물론 -지금 정도-에서의 완전함이겠지만. 어쨌든 이 녀석으로 자기 자신을 만들도록 하고 있고 대만족이다.

이 제 exp2로 올려 볼까? kldp.net을 보면 사람들이 버전을 너무 짜게 준다는 생각이 든다. 뭐 그만큼 바라는 것이 많은 이유이긴 하겠지만. exp1을 complatation 해서 올려 보자. 키코드 출력을 없애고 문서가 없는 상태에서의 처리만 완결해주면 된다. 그저 탭 기능이 있는 메모장에 불과하지만 첫 배포는 기념비적인 사건이 될 것이다.

단지 윈도에서는 한글 입력이 영 않좋다는 것이... 뭐.

건배.

next mission :
find & replace 구현, save all 버튼, '저장되지 않은 페이지' 탭 라벨 및 타이틀바에서 알림, preference 창 구현, multi-lang syntax hilite perfection.


5. 2004-06-07

DocumentManager 클래스가 새로 생겨 기존의 PIE 클래스에서 처리하던 Document 관리를 위임하게 되었는데 이 과정에서 위젯 객체가 오가는 데에 몇단계가 추가되면서 제대로 전달되지 않는 문제가 생겼다. 노력중이지만 어쨌거나 진전은 없다....쓸모없는 녀석.

오늘은 두통이 심해 얼마 버티지 못할 것 같다. 집에서 뒹굴거리면서 hack tool이라도 들여다보고 싶지만 인터넷이 안되니 문제다. linux 머신을 돌리는 것은 다음 패키지 업데이트때까지 보류다...

6. 2004-06-06

FileManager 클래스의 이름을 FileWorker로 변경했다.
기존의 이름은 복수의 파일들을 총체적으로 관리한다는 느낌이 강해서 늘 비직관적이라고 생각해 왔다.

PIE 클래스 중 GUI를 생성하는 대부분을 새로 만든 Window 클래스에 위임했다. 엄밀히 말하자면 MainWindow 클래스로, gtk.Window를 상속하고 Toolbar, Notebook, Textview, Menubar를 비롯한 레이아웃을 스스로 담고 있다. 매니저인 PIE는 이로서 Window에 Document를 추가(append method)하는 매우 논리적인 파일 관리 체계를 갖추게 되었다.

그러나 아직 gui와 event와의 연결은 Pie에서 직접 행한다. 이는 해결해야 할 문제이다. 다대 다 has-a관계에서 클래스간 통신을 적절히 조절할 방법이 떠오르지 않았다.

document close 기능은 메뉴와 상응하는 메소드만 만든 상태이다. 이것은 아무 동작도 하지 않는다. document manager 클래스가 완성되어야 제대로 작업을 할 수 있을 것 같다.

environment manager 클래스의 dummy를 만들었다. 이 놈은 단순히 몇가지 사항을 담고 있기만 할 테지만, 나중에는 설정 파일을 생성하고 읽어들이는 중요한 일을 담당하게 된다. 직속 상관은 pie 클래스다.

7. 2004-06-05

탭 기능을 지원하기 시작했다.
new나 open 하면 새로운 탭이 생긴다. 단순하다.
close는 오늘 저녁에 구현될 듯 싶다.

document라는 새로운 클래스가 생겼다.
이것은 mgtk 위젯의 scrolledTextView와 FileManager 클래스로부터
다중 상속을 받음으로써 완성되었다. 훨씬 직관적이 되었다.
탭의 정상적인 구현도 document 클래스 덕에 가능하게 된 것이다.

그 러나 아직 FileManager 와의 불협화음이 좀 있다. 하마터면 소스 파일을 쓸데없는 내용으로 덮어쓰기 할 뻔 했다. 다음부터 테스트 할 때는 별도의 파일을 써야겠다.(젠장, 이번주부터 그 녀석으로 자기 자신을 만들도록 할 생각이었는데.)

그리고 오늘 저녁엔 scrolledTextView를 조금 손봐서 라인을 표시하게 만들 생각이다. (역시 비주얼에 신경쓰는- 그러나 현 시점에서 역시 사람들의 이목을 잡아 끄는 것은 외형과 속도다.)

경쟁(?) 제품들의 홈페이지들을 둘러 보았다. 발전들이 생각보다 빠르다. 서두르지 않으면 안 되겠다. 그리고 몇군데는, 함부로 free라는 말 쓰지 말아주었으면 좋겠다. 곧 당당하게 말할 날이 있을 게다.
powered by Moniwiki | themed by clockoon
last modified 2008-12-30 10:44:12
Processing time 0.0127 sec