@Inject protected StringPatternListPanel( DCGlassPane glassPane, AnalyzerBeansConfiguration configuration, WindowContext windowContext, UserPreferences userPreferences) { super(WidgetUtils.BG_COLOR_BRIGHT, WidgetUtils.BG_COLOR_BRIGHTEST); _glassPane = glassPane; _configuration = configuration; _windowContext = windowContext; _userPreferences = userPreferences; _catalog = (MutableReferenceDataCatalog) _configuration.getReferenceDataCatalog(); _catalog.addStringPatternListener(this); _listPanel = new DCPanel(); _listPanel.setLayout(new VerticalLayout(4)); updateComponents(); final DCLabel newStringPatternsLabel = DCLabel.dark("Create new string pattern:"); newStringPatternsLabel.setFont(WidgetUtils.FONT_HEADER1); final DCLabel existingStringPatternsLabel = DCLabel.dark("Existing string patterns:"); existingStringPatternsLabel.setFont(WidgetUtils.FONT_HEADER1); setLayout(new VerticalLayout(10)); add(newStringPatternsLabel); add(createNewStringPatternsPanel()); add(Box.createVerticalStrut(10)); add(existingStringPatternsLabel); setBorder(new EmptyBorder(10, 10, 10, 0)); add(_listPanel); }