1. ActionScript / Говнокод #11464

    −117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    override protected function partAdded (partName : String, instance : Object) : void
    {
    	super.partAdded(partName, instance);
    
    	if (instance == this.addButton)
    	{
    		_allProductButton[ADD_BUTTON_ID] = addButton;
    		this.addButton.addEventListener(MouseEvent.CLICK, this.addClickHandler);
    		return;
    	}
    
    	if (instance == this.amendButton)
    	{
    		_allProductButton[AMEND_BUTTON_ID] = amendButton;
    		this.amendButton.addEventListener(MouseEvent.CLICK, this.amendClickHandler);
    		return;
    	}
    
    	if (instance == this.approveButton)
    	{
    		_allProductButton[APPROVE_BUTTON_ID] = approveButton;
    		this.approveButton.addEventListener(MouseEvent.CLICK, this.approveClickHandler);
    		return;
    	}
    
    	if (instance == this.discardButton)
    	{
    		_allProductButton[DISCARD_BUTTON_ID] = discardButton;
    		this.discardButton.addEventListener(MouseEvent.CLICK, this.discardClickHandler);
    		return;
    	}
    
    	if(instance == this.deactivateButton){
    		_allProductButton[DEACTIVATE_BUTTON_ID] = deactivateButton;
    		this.deactivateButton.addEventListener(MouseEvent.CLICK, this.deactivateClikcHandler);
    		return;
    	}
    
    	if (instance == this.exportButton)
    	{
    		this.exportButton.addEventListener(MouseEvent.CLICK, this.exportClickHandler);
    		return;
    	}
    
    	if (instance == this.printButton)
    	{
    		this.printButton.addEventListener(MouseEvent.CLICK, this.printClickHandler);
    		return;
    	}
    
    	if (instance == this.rejectButton)
    	{
    		_allProductButton[REJECT_BUTTON_ID] = rejectButton;
    		this.rejectButton.addEventListener(MouseEvent.CLICK, this.rejectClickHandler);
    		return;
    	}
    }
    
    override protected function partRemoved (partName : String, instance : Object) : void
    {
    	super.partRemoved(partName, instance);
    
    	if (instance == this.addButton)
    	{
    		this.addButton.removeEventListener(MouseEvent.CLICK, this.addClickHandler);
    		return;
    	}
    
    	if (instance == this.amendButton)
    	{
    		this.amendButton.removeEventListener(MouseEvent.CLICK, this.amendClickHandler);
    		return;
    	}
    	//...... вырезано цензурой в  100 строк
    }
    
    private function addClickHandler (e : MouseEvent) : void
    {
    	if (this._handlingStrategy)
    	{
    		this._handlingStrategy.handleAddClick();
    	}
    }
    
    private function amendClickHandler (e : MouseEvent) : void
    {
    	if (this._handlingStrategy)
    	{
    		this._handlingStrategy.handleAmendClick();
    	}
    }
    // и тд и тп

    Запостил: kyzi007, 23 Июля 2012

    Комментарии (10) RSS

    • Забыла сказать - панель статична, почти никогда не исчезает и всегда содержит одинаковый набор кнопок.
      А публичные скинпарты замечательно прячутся за интерфейсом -

      package com.db.prds.ui.components.actionPanel
      {
      public interface IActionPanel
      {
      function disableAllProductButton () : void

      function enableAllProductButton () : void

      function enableButtons (...buttons) : void

      function disableButtons (...buttons) : void
      }
      }
      Ответить
      • Объявите, когда на ГК уже будет весь этот проект. Попробуем собрать.
        Ответить
        • Там 400 классов за два месяца, вряд ли :)
          Ответить
          • > 400 классов...

            Как всегда злоупотребление ООП и паттернами или проект реально такой здоровый?
            Ответить
            • Просто огромный! Две менюхи, табличка с текстовыми значениями, фильтры для поиска.
              Да! про бизнес логику и обращения к серверу забыла.

              Конечно опп, оно, родное.
              Ответить
      • > package com.db.pdrs.ui.components.actionPanel

        fxd
        Ответить

    Добавить комментарий