TemplateView.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. * Copyright 2009-2010, Pier Luigi Fiorini. All rights reserved.
  3. * Distributed under the terms of the MIT License.
  4. *
  5. * Authors:
  6. * Pier Luigi Fiorini, pierluigi.fiorini@gmail.com
  7. */
  8. #include "TemplateView.h"
  9. #include <Button.h>
  10. #include <ControlLook.h>
  11. #include <CheckBox.h>
  12. #include <GroupLayout.h>
  13. #include <GroupLayoutBuilder.h>
  14. #include <PopUpMenu.h>
  15. #include <MenuField.h>
  16. #include <MenuItem.h>
  17. #include <ScrollView.h>
  18. #include <TextControl.h>
  19. #include <Window.h>
  20. TemplateView::TemplateView(const char* name)
  21. : BView(name, B_WILL_DRAW)
  22. {
  23. }
  24. void
  25. TemplateView::AttachedToWindow()
  26. {
  27. // Once we are attached to window, the GUI is already created
  28. // so we can set our window as target for messages
  29. for (int32 i = 0; i < CountChildren(); i++) {
  30. BView* child = ChildAt(i);
  31. BMenu* menu = dynamic_cast<BMenu*>(child);
  32. BMenuField* menuField
  33. = dynamic_cast<BMenuField*>(child);
  34. BTextControl* textControl
  35. = dynamic_cast<BTextControl*>(child);
  36. BTextView* textView = dynamic_cast<BTextView*>(child);
  37. BCheckBox* checkBox = dynamic_cast<BCheckBox*>(child);
  38. if (menuField)
  39. menu = menuField->Menu();
  40. if (menu) {
  41. if (i == 0)
  42. menu->MakeFocus(true);
  43. menu->SetTargetForItems(Window());
  44. }
  45. if (textControl)
  46. if (i == 0)
  47. textControl->MakeFocus(true);
  48. if (checkBox)
  49. if (i == 0)
  50. checkBox->MakeFocus(true);
  51. if (textView)
  52. if (i == 0)
  53. textView->MakeFocus(true);
  54. }
  55. }