Beispiel #1
0
//---------------------------------------------------------------
// Purpose: 
//---------------------------------------------------------------
void CEntityOutputWnd::UpdateToList()
{
	if( !m_enableOutputToList )
		return;

	TCHAR buf[128];

	GetComboBoxString(&m_cbEvt, buf, 128);
	if( !IsMultiSelection(buf) )
		m_list.SetOutputEvent(buf);
	
	GetComboBoxString(&m_cbTarget, buf, 128);
	if( !IsMultiSelection(buf) )
		m_list.SetOutputTarget(buf);

	GetComboBoxString(&m_cbInput, buf, 128);
	if( !IsMultiSelection(buf) )
		m_list.SetOutputInput(buf);

	GetComboBoxString(&m_cbParam, buf, 128);
	if( !IsMultiSelection(buf) )
		m_list.SetOutputParam(buf);

	m_eDelay.GetWindowText(buf, 128);
	if( !IsMultiSelection(buf) )
		m_list.SetOutputDelay(buf);

	int onlyOnce = m_bOnlyOnce.GetCheck();
	if( onlyOnce != BST_INDETERMINATE )
		m_list.SetOutputOnlyOnce(onlyOnce == BST_CHECKED);

	m_list.UpdateSelected();
}
Beispiel #2
0
C4FileSelDlg::ListItem *C4FileSelDlg::CreateListItem(const char *szFilename) {
  // Default list item
  if (szFilename)
    return new DefaultListItem(szFilename, !!GetFileMask(), IsMultiSelection(),
                               IsItemGrayed(szFilename), GetFileItemIcon());
  else
    return new DefaultListItem(NULL, false, IsMultiSelection(), false,
                               GetFileItemIcon());
}
Beispiel #3
0
StdStrBuf C4FileSelDlg::GetSelection(const char *szFixedSelection,
                                     bool fFilenameOnly) const {
  StdStrBuf sResult;
  if (!IsMultiSelection()) {
    // get single selected file for single selection dlg
    if (pSelection)
      sResult.Copy(fFilenameOnly ? GetFilename(pSelection->GetFilename())
                                 : pSelection->GetFilename());
  } else {
    // force fixed selection first
    if (szFixedSelection) sResult.Append(szFixedSelection);
    //  get ';'-seperated list for multi selection dlg
    for (ListItem *pFileItem =
             static_cast<ListItem *>(pFileListBox->GetFirst());
         pFileItem; pFileItem = static_cast<ListItem *>(pFileItem->GetNext()))
      if (pFileItem->IsChecked()) {
        const char *szAppendFilename = pFileItem->GetFilename();
        if (fFilenameOnly) szAppendFilename = GetFilename(szAppendFilename);
        // prevent adding entries twice (especially those from the fixed
        // selection list)
        if (!SIsModule(sResult.getData(), szAppendFilename)) {
          if (sResult.getLength()) sResult.AppendChar(';');
          sResult.Append(szAppendFilename);
        }
      }
  }
  return sResult;
}
Beispiel #4
0
void SetComboBoxText(CCustomComboBox &cb, const TCHAR *text)
{
	if(IsMultiSelection(text))
		cb.SetFontData(false, RGB(100, 100, 100));
	else
		cb.SetFontData(false, RGB(0, 0, 0), CCB_NOWEIGHT);
	cb.SetWindowText(text);
}
Beispiel #5
0
void C4FileSelDlg::OnSelDblClick(class C4GUI::Element *pEl) {
  // item double-click: confirms with this file in single mode; toggles
  // selection in multi mode
  if (IsMultiSelection()) {
    ListItem *pItem = static_cast<ListItem *>(pEl);
    pItem->UserToggleCheck();
  } else
    UserClose(true);
}
Beispiel #6
0
//---------------------------------------------------------------
// Purpose: 
//---------------------------------------------------------------
void CEntityOutputWnd::UpdateTargetComboBox()
{
	TCHAR buf[256];
	GetComboBoxString(&m_cbTarget, buf, 256);
	if(IsMultiSelection(buf))
	{
		m_cbTarget.SetFontData(false, 0, CCB_NOCOLOR);
	}
	else
	{
		int num = GetActiveDocument()->GetEntityList()->FindNumberByName(std::string(CT2A(buf)));
		bool valid = num > 1 || OutputSystem::isGenericTargetName(buf);
		m_cbTarget.SetFontData(num > 1, valid ? RGB(0, 0, 0) : RGB(200, 0, 0));
	}
}