diff --git a/ruamoko/qwaq/Makefile.am b/ruamoko/qwaq/Makefile.am index 3e803509b..194c31933 100644 --- a/ruamoko/qwaq/Makefile.am +++ b/ruamoko/qwaq/Makefile.am @@ -35,6 +35,7 @@ qwaq_app_dat_src= \ qwaq-rect.r \ qwaq-screen.r \ qwaq-textcontext.r \ + qwaq-titlebar.r \ qwaq-view.r \ qwaq-window.r diff --git a/ruamoko/qwaq/qwaq-titlebar.h b/ruamoko/qwaq/qwaq-titlebar.h new file mode 100644 index 000000000..addfdde4e --- /dev/null +++ b/ruamoko/qwaq/qwaq-titlebar.h @@ -0,0 +1,16 @@ +#ifndef __qwaq_titlebar_h +#define __qwaq_titlebar_h + +#include "qwaq-view.h" + +@interface TitleBar : View +{ + string title; + int length; +} +// title always centered at top of owner +-initWithTitle:(string) title; +-setTitle:(string) newTitle; +@end + +#endif//__qwaq_titlebar_h diff --git a/ruamoko/qwaq/qwaq-titlebar.r b/ruamoko/qwaq/qwaq-titlebar.r new file mode 100644 index 000000000..3a5bcfcda --- /dev/null +++ b/ruamoko/qwaq/qwaq-titlebar.r @@ -0,0 +1,41 @@ +#include + +#include "qwaq-group.h" +#include "qwaq-titlebar.h" + +@implementation TitleBar + +-initWithTitle:(string) title +{ + if (!(self = [super init])) { + return nil; + } + self.title = title; + length = strlen (title); + growMode = gfGrowHiX; + return self; +} + +-setTitle:(string) newTitle +{ + title = newTitle; + length = strlen (title); + [self redraw]; + return self; +} + +-setOwner: (Group *) owner +{ + [super setOwner: owner]; + size = [owner size]; + return self; +} + +-draw +{ + [super draw]; + [self mvaddstr: { (xlen - length) / 2, 0}, title]; + return self; +} + +@end