Автор Гілка: GTK  (Прочитано 6735 раз)

Відсутній intracer

  • Новачок
  • *
  • дописів: 35
  • Карма: +0/-0
  • I Love YaBB 2!
Re: GTK
« Відповідей #15 : 2006-08-02 17:28:54 »
Розробники Eclipse/SWT про Windows та GTK

Implementation of SWT
  Text.java – Windows and Macintosh
   … SWT/win32/org/eclipse/swt/widgets/Text.java
 public void selectAll() {
     checkWidget();
     OS.SendMessage(handle, OS.EM_SETSEL, 0, -1);
  }
  … SWT/carbon/org/eclipse/swt/widgets/Text.java
 public void selectAll() {
     checkWidget();
     OS.TXNSelectAll(txnObject);
  }

Text.java – GTK
 … SWT/gtk/org/eclipse/swt/widgets/Text.java
public void selectAll() {
    checkWidget();
    if ((style & SWT.SINGLE) != 0) {
       OS.gtk_editable_select_region(handle, 0, -1);
    } else {
       byte[] start = new byte[ITER_SIZEOF];
       byte[] end = new byte[ITER_SIZEOF];
       OS.gtk_text_buffer_get_iter_at_offset(h, start, 0);
       OS.gtk_text_buffer_get_end_iter(h, end);
       int iMark = OS.gtk_text_buffer_get_insert(h);
       int sMark = OS.gtk_text_buffer_get_selection_bound(h);
       OS.gtk_text_buffer_move_mark(h, sMark, start);
       OS.gtk_text_buffer_move_mark(h, iMark, end);
    }
}}

The “Operating System Hall of Shame”
  •   Windows
     –  OLE (ActiveX) has megalomania
        •   It’s just DLL’s (and “objects”, file system, storage …)
        •   Horribly verbose (QueryInterface(), check, cast ‘n
            call)
     –  Bizarre limitations, strange design decisions
        •   Scroll Bars and Menus are not Controls
        •   Modal menu and resize loops
     –  WM_KEYDOWN, WM_SYSKEYDOWN … barf!
     –  GDI fumbling, SelectObject(), compatible HDC’s?
     –  STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
 Built by “Hungarians”?
“Hungarian” Notation in Windows

 Variant[] rgvarg2 = new Variant[] {rgvarg};
  int[] rgdispidNamedArgs = new int[]
  {COM.DISPID_PROPERTYPUT};
  int dwFlags = COM.DISPATCH_PROPERTYPUT;
  if ((rgvarg.getType() & COM.VT_BYREF) ==
  COM.VT_BYREF)
  dwFlags = COM.DISPATCH_PROPERTYPUTREF;
  Variant pVarResult = new Variant();
  int result = invoke(dispIdMember, dwFlags,
  rgvarg2, rgdispidNamedArgs, pVarResult);

 But I’m not “Hungarian”! [/size](Oh, yes, you are!)

How does Microsoft create new
controls?
BOOL InitCommonControlsEx()
BOOL Init Common Control Sex (!)
 Daddy, where do widgets come from?                                      
        
The “Operating System Hall of Shame”
  • GTK
     – “It’s not X, it’s GDK … oh wait … it’s the same!”
     – Too many handles (“Dances with Handles”)
     – Widgets won’t stay where you put them
     – Event loops embedded in API (NEVER DO THIS)
     – Everything is deferred, no way to force work to
       happen, other than … running an event loop
     – Too many versions (different bugs)
 “Come home Windows, all is forgiven!”


Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: GTK
« Відповідей #16 : 2006-10-05 13:30:09 »
У-у-у
москалі вже від себе про GTK понаписували: http://www.firststeps.ru/linux/gtk/gtk1.html
ам ми тільки перекладаєм : http://docs.linux.org.ua/index.php/GNU:GTK/trans_gtk-tutorial.20021027
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: GTK
« Відповідей #17 : 2007-04-26 12:20:39 »
Мама мія...
На фтп-шнику федори в директорії extras валяється gtk-extra-2.0... - дуже корисна цяця (практично дельфа: є віджети для побудови графіків (в тому числі 3D), таблиць...) і в неї дуже бідна документація : читати доводиться не мани, а заголовкові файли  :o .
Може хто з цим працював? (В мене зараз нема часу: страшний іспит на носі...)
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.