コード例 #1
0
ファイル: SettingsWindow.cpp プロジェクト: AmirAbrams/haiku
void
SettingsWindow::MessageReceived(BMessage* message)
{
	switch (message->what) {
		case M_SETTINGS_CHANGED:
			ApplySettings();
			break;

		case B_KEY_DOWN:
			int32 index;
			if (message->FindInt32("key", &index) == B_OK && index == 1)
				PostMessage(B_QUIT_REQUESTED);
			break;

		case M_SETTINGS_REVERT:
			Revert();
			break;

		case M_SETTINGS_CANCEL:
			Revert();
			// fall through
		case M_SETTINGS_SAVE:
			PostMessage(B_QUIT_REQUESTED);
			break;

		default:
			BWindow::MessageReceived(message);
			break;
	}
}
コード例 #2
0
JFSBindingList::JFSBindingList
	(
	const JCharacter*	signalFileName,
	const JCharacter**	needUserCheck
	)
	:
	JContainer(),
	itsUseDefaultFlag(kJFalse),
	itsUserDefault(NULL),
	itsSystemDefault(NULL),
	itsShellCmd(kDefaultShellCmd),
	itsWindowCmd(kDefaultWindowCmd),
	itsAutoShellFlag(kJFalse),
	itsSignalFileName(signalFileName)
{
	itsBindingList = new JPtrArray<JFSBinding>(JPtrArrayT::kDeleteAll);
	assert( itsBindingList != NULL );
	itsBindingList->SetCompareFunction(JFSBinding::ComparePatterns);

	itsOverriddenList = new JPtrArray<JFSBinding>(JPtrArrayT::kDeleteAll);
	assert( itsOverriddenList != NULL );
	itsOverriddenList->SetCompareFunction(JFSBinding::ComparePatterns);

	InstallOrderedSet(itsBindingList);

	*needUserCheck = Revert();
}
コード例 #3
0
ファイル: AwayEditor.cpp プロジェクト: HaikuArchives/BeAIM
// check and see if the message needs saving, and whether to ditch it or not
bool AwayEditorWindow::CheckMessage() {

	if( !hasSelection )
		return true;

	BAlert* alert;
	if( isDirty || genView->textview->IsDirty() ) {
	
		alert = new BAlert("", Language.get("AME_SAVE_CHANGES"), Language.get("CANCEL_LABEL"),
							   Language.get("IGNORE_LABEL"), Language.get("SAVE_LABEL"),
							   B_WIDTH_AS_USUAL, B_OFFSET_SPACING, B_WARNING_ALERT);
		alert->SetShortcut( 0, B_ESCAPE );
		int32 index = alert->Go();

		if( index == 2 )
			if( SaveMessage() )
				return true;
			else return false;
			
		if( index == 1 ) {
			if( currentMsg == BString(Language.get("AME_NEW_MESSAGE")) )
				DeleteMessage();
		}
		
		if( index == 0 ) {
			Revert();
			return false;
		}
	}
	return true;
}
コード例 #4
0
ファイル: rdrevert.cpp プロジェクト: WMFO/rivendell
MainObject::MainObject(QObject *parent)
  :QObject(parent)
{
  new RDApplication(RDApplication::Console,"rdrevert",RDREVERT_USAGE);

  bool ok=false;
  int set_schema=0;
  rev_use_deadzone=false;

  //
  // Check for Root Permissions
  //
  if(geteuid()!=0) {
    fprintf(stderr,"rdrevert: this program requires root permissions\n");
    exit(256);
  }

  //
  // Read Command Options
  //
  for(unsigned i=0;i<rda->cmdSwitch()->keys();i++) {
    if(rda->cmdSwitch()->key(i)=="--set-schema") {
      set_schema=rda->cmdSwitch()->value(i).toInt(&ok);
      if((!ok)||(set_schema<0)) {
	fprintf(stderr,"rdrevert: invalid schema value\n");
	exit(256);
      }
      rda->cmdSwitch()->setProcessed(i,true);
    }
    if(rda->cmdSwitch()->key(i)=="--set-version") {
      if((set_schema=MapSchema(rda->cmdSwitch()->value(i)))==0) {
	fprintf(stderr,"rdrevert: invalid/unsupported Rivendell version\n");
	exit(256);
      }
      rda->cmdSwitch()->setProcessed(i,true);
    }
  }
  if(!rda->cmdSwitch()->allProcessed()) {
    fprintf(stderr,"rdrevert: unknown option\n");
    exit(256);
  }

  int start_schema=GetVersion();
  if(set_schema==0) {
    printf("%d\n",start_schema);
    exit(0);
  }
  if((set_schema<RDREVERT_BASE_SCHEMA)||(set_schema>start_schema)) {
    fprintf(stderr,"rdrevert: unsupported schema\n");
    exit(256);
  }
  if((start_schema>=246)&&(start_schema<=253)) {
    rev_use_deadzone=true;
  }

  while(start_schema>set_schema) {
    Revert(start_schema--);
  }
  exit(0);
}
コード例 #5
0
ファイル: FontSelectionView.cpp プロジェクト: looncraz/haiku
void
FontSelectionView::SetDefaults()
{
	font_family family;
	font_style style;
	float size;
	const char* fontName;

	if (strcmp(Name(), "menu") == 0)
		fontName = "plain";
	else
		fontName = Name();

	if (_get_system_default_font_(fontName, family, style, &size) != B_OK) {
		Revert();
		return;
	}

	BFont defaultFont;
	defaultFont.SetFamilyAndStyle(family, style);
	defaultFont.SetSize(size);

	if (defaultFont == fCurrentFont)
		return;

	_SelectCurrentFont(false);

	fCurrentFont = defaultFont;
	_UpdateFontPreview();

	_SelectCurrentFont(true);
	_SelectCurrentSize();
}
コード例 #6
0
AudioTimingControllerKaraoke::AudioTimingControllerKaraoke(agi::Context *c, AssKaraoke *kara, agi::signal::Connection& file_changed)
: file_changed_slot(file_changed)
, c(c)
, active_line(c->selectionController->GetActiveLine())
, kara(kara)
, cur_syl(0)
, separator_pen("Colour/Audio Display/Syllable Boundaries", "Audio/Line Boundaries Thickness", wxPENSTYLE_DOT)
, start_pen("Colour/Audio Display/Line boundary Start", "Audio/Line Boundaries Thickness")
, end_pen("Colour/Audio Display/Line boundary End", "Audio/Line Boundaries Thickness")
, start_marker(active_line->Start, &start_pen, AudioMarker::Feet_Right)
, end_marker(active_line->End, &end_pen, AudioMarker::Feet_Left)
, keyframes_provider(c, "Audio/Display/Draw/Keyframes in Karaoke Mode")
, video_position_provider(c)
, auto_commit(OPT_GET("Audio/Auto/Commit")->GetBool())
, commit_id(-1)
{
	slots.push_back(kara->AddSyllablesChangedListener(&AudioTimingControllerKaraoke::Revert, this));
	slots.push_back(OPT_SUB("Audio/Auto/Commit", &AudioTimingControllerKaraoke::OnAutoCommitChange, this));

	keyframes_provider.AddMarkerMovedListener(std::bind(std::ref(AnnounceMarkerMoved)));
	video_position_provider.AddMarkerMovedListener(std::bind(std::ref(AnnounceMarkerMoved)));

	Revert();

}
コード例 #7
0
void
JFSBindingList::RevertIfModified()
{
	if (NeedsRevert())
		{
		Revert();
		}
}
コード例 #8
0
ファイル: fftwaveui.cpp プロジェクト: liye0005/QT_POJ
void FftWaveUi::InitConnector()
{
    connect(close_btn_, SIGNAL(clicked()), this, SLOT(close()));
    connect(xyz_rbtn_, SIGNAL(clicked()), this, SLOT(OnDisplayStyleChanged()));
    connect(x_rbtn_, SIGNAL(clicked()), this, SLOT(OnDisplayStyleChanged()));
    connect(y_rbtn_, SIGNAL(clicked()), this, SLOT(OnDisplayStyleChanged()));
    connect(z_rbtn_, SIGNAL(clicked()), this, SLOT(OnDisplayStyleChanged()));
    connect(back_tbtn_, SIGNAL(clicked()), fft_image_, SLOT(Revert()));
}
コード例 #9
0
ファイル: Git.cpp プロジェクト: jrk/tortoisegit
int CGit::Revert(CTGitPathList &list,bool keep)
{
	int ret;
	for(int i=0;i<list.GetCount();i++)
	{	
		ret = Revert((CTGitPath&)list[i],keep);
		if(ret)
			return ret;
	}
	return 0;
}
コード例 #10
0
// * Update frame
void CAnimationModifier_VScan::UpdateFrame()
{
    int i;

    if(mStarted == 1)
    {
        for(i = 0; i < 4; i++)
        {
            mSpeed = mVertexList[i].dy + 10;
            mVertexList[i].dy += mSpeed * gFrameTime * mDirection;
        }

        if(mVertexList[2].dy > g_screen_height) {
            mVertexList[2].dy = g_screen_height;
            Revert();
        }
        if(mVertexList[2].dy < 0.0f) {
            mVertexList[2].dy = 0.0f;
            Revert();
        }
    }
}
コード例 #11
0
ファイル: SettingsWindow.cpp プロジェクト: mmanley/Antares
void
SettingsWindow::MessageReceived(BMessage* message)
{
	switch (message->what) {
		case M_AUTOSTART:
		case M_CLOSE_WINDOW_MOVIE:
		case M_CLOSE_WINDOW_SOUNDS:
		case M_LOOP_MOVIE:
		case M_LOOP_SOUND:
		case M_USE_OVERLAYS:
		case M_SCALE_BILINEAR:
		case M_START_FULL_VOLUME:
		case M_START_HALF_VOLUME:
		case M_START_MUTE_VOLUME:
			ApplySettings();
			break;

		case B_KEY_DOWN:
			int32 index;
			if (message->FindInt32("key", &index) == B_OK && index == 1)
				PostMessage(B_QUIT_REQUESTED);
			break;

		case M_SETTINGS_REVERT:
			Revert();
			break;

		case M_SETTINGS_CANCEL:
			Revert();
			// fall through
		case M_SETTINGS_SAVE:
			PostMessage(B_QUIT_REQUESTED);
			break;

		default:
			BWindow::MessageReceived(message);
			break;
	}
}
コード例 #12
0
 //--每次把最大的翻转到最下面,计算这种方法所需要的次数
 //--计算过程中保存翻转结果,因为这种方法可能就是最小翻转次数的方法
 //--这个次数可以作为翻转次数的上界
 int UpBound_case(int* pCakeArray, int nCakeCnt)
 {
     int re = 0;
     for (int j = nCakeCnt - 1 ; ;)
     {
         while(j > 0 && j == pCakeArray[j])
             --j;
         if (j <= 0)
             break;
         int i = j;
         while (i >= 0 && pCakeArray[i] != j)
             --i;
         if (i != 0)
         {
             Revert(pCakeArray, 0, i);
             re++;
         }
         Revert(pCakeArray, 0, j);
         re++;
         --j;
     }
     return re;
 }
コード例 #13
0
// * Update frame
void CAnimationModifier_HScan::UpdateFrame()
{
    int i;

    if(mStarted == 1)
    {
        for(i = 0; i < 4; i++)
        {
            mVertexList[i].dx += mSpeed * gFrameTime * mDirection;
        }

        if(mVertexList[2].dx < mParam1)
        {
            Revert();
            for(i = 0; i < 4; i++) mVertexList[i].dx = mParam1;
        }
        if(mVertexList[2].dx > mParam2)
        {
            Revert();
            for(i = 0; i < 4; i++) mVertexList[i].dx = mParam2;
        }
    }
}
コード例 #14
0
ファイル: PopupMenu.cpp プロジェクト: songcser/ALM
HRESULT STDMETHODCALLTYPE CPopupMenu::InvokeCommand( __in CMINVOKECOMMANDINFO *pici)
{
	if(HIWORD(((CMINVOKECOMMANDINFOEX *)pici)->lpVerbW)){
		return S_OK;
	}
	else
	{
		if(1 == LOWORD(pici->lpVerb)){
			SetEnv();
		}
		else if(2 == LOWORD(pici->lpVerb)){
			Update();
		}
		else if(3 == LOWORD(pici->lpVerb)){
			Checkout();
		}
		else if(4 == LOWORD(pici->lpVerb)){
			Commit();
		}
		else if(5 == LOWORD(pici->lpVerb)){
			Checkin();
		}
		else if(6 == LOWORD(pici->lpVerb)){
			Cancel();
		}
		else if(7 == LOWORD(pici->lpVerb)){
			Add();
		}
		else if(8 == LOWORD(pici->lpVerb)){
			Revert();
		}
		else if(9 == LOWORD(pici->lpVerb)){
			Merge();
		}
		else if(10 == LOWORD(pici->lpVerb)){
			ShowLog();
		}
		else if(11 == LOWORD(pici->lpVerb)){
			Diff();
		}
		else if(12 == LOWORD(pici->lpVerb)){
			Compare();
		}
		else if(13 == LOWORD(pici->lpVerb)){
			UpdateRelyFiles();
		}
	}

	return S_OK;
}
コード例 #15
0
InterfaceAddressView::InterfaceAddressView(BRect frame, int family,
	NetworkSettings* settings)
	:
	BGroupView(B_VERTICAL),
	fSettings(settings),
	fFamily(family)
{
	SetLayout(new BGroupLayout(B_VERTICAL));

	// Create our controls
	fModePopUpMenu = new BPopUpMenu("modes");

	fModePopUpMenu->AddItem(new BMenuItem(B_TRANSLATE("DHCP"),
		new BMessage(M_MODE_AUTO)));
	fModePopUpMenu->AddItem(new BMenuItem(B_TRANSLATE("Static"),
		new BMessage(M_MODE_STATIC)));
	fModePopUpMenu->AddSeparatorItem();
	fModePopUpMenu->AddItem(new BMenuItem(B_TRANSLATE("Off"),
		new BMessage(M_MODE_OFF)));

	fModeField = new BMenuField(B_TRANSLATE("Mode:"), fModePopUpMenu);
	fModeField->SetToolTip(BString(B_TRANSLATE("The method for obtaining an IP address")));

	float minimumWidth = be_control_look->DefaultItemSpacing() * 16;

	fAddressField = new BTextControl(B_TRANSLATE("IP Address:"), NULL, NULL);
	fAddressField->SetToolTip(BString(B_TRANSLATE("Your IP address")));
	fAddressField->TextView()->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET));
	fNetmaskField = new BTextControl(B_TRANSLATE("Netmask:"), NULL, NULL);
	fNetmaskField->SetToolTip(BString(B_TRANSLATE("Your netmask")));
	fNetmaskField->TextView()->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET));
	fGatewayField = new BTextControl(B_TRANSLATE("Gateway:"), NULL, NULL);
	fGatewayField->SetToolTip(BString(B_TRANSLATE("Your gateway")));
	fGatewayField->TextView()->SetExplicitMinSize(BSize(minimumWidth, B_SIZE_UNSET));

	Revert();
		// Populate the fields

	BLayoutBuilder::Group<>(this)
		.AddGrid()
			.AddMenuField(fModeField, 0, 0, B_ALIGN_RIGHT)
			.AddTextControl(fAddressField, 0, 1, B_ALIGN_RIGHT)
			.AddTextControl(fNetmaskField, 0, 2, B_ALIGN_RIGHT)
			.AddTextControl(fGatewayField, 0, 3, B_ALIGN_RIGHT)
		.End()
		.AddGlue()
		.SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
			B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING);
}
コード例 #16
0
ファイル: AwayEditor.cpp プロジェクト: HaikuArchives/BeAIM
bool AwayEditorWindow::SaveMessage() {

	if( client->AwayMode() == AM_STANDARD_MESSAGE ) {
		if( client->CurrentAwayMessageName() == currentMsg ) {
			windows->ShowMessage( Language.get("AME_ERR1"), B_INFO_ALERT );
			return false;
		}
	}

	BString text = genView->messageName->Text();
	if( text == BString(Language.get("AME_NEW_MESSAGE")) || text == BString("") ) {
		windows->ShowMessage( Language.get("AME_ERR2"), B_WARNING_ALERT );
		Revert();
		genView->messageName->MakeFocus(true);
		return false;
	}

	if( (text != currentMsg) && (prefs->FindAwayMessage(text) != -1) ) {
		windows->ShowMessage( Language.get("AME_ERR3"), B_WARNING_ALERT );
		Revert();
		genView->messageName->MakeFocus(true);
		return false;	
	}

	int32 selected = genView->listview->CurrentSelection();
	BString message = genView->textview->Text();
	message.ReplaceAll( "\n", "<br>" );
	prefs->SetAwayMessage( genView->messageName->Text(), currentMsg, message );
	BuildList();
	
	isDirty = false;
	genView->textview->MakeDirty(false);
	genView->listview->Select( selected );
	PostAppMessage( new BMessage(BEAIM_LOAD_AWAY_MENU) );
	return true;
}
コード例 #17
0
BOOL WINAPI DllMain(HINSTANCE hinstDLL,
	DWORD fdwReason,
	LPVOID lpvReserved)
{
	if (fdwReason == DLL_PROCESS_ATTACH){
		DisableThreadLibraryCalls(hinstDLL);
		CreateThread(0, 0, (LPTHREAD_START_ROUTINE)mainFunction, NULL, 0, 0);
		return true;
	}
	else if (fdwReason == DLL_PROCESS_DETACH)
	{
		Revert();
		return true;
	}
	return false;
}
コード例 #18
0
ファイル: Car.cpp プロジェクト: AntonioModer/xray-16
void CCar::PhDataUpdate(float step)
{
		if(m_repairing)Revert();
		LimitWheels();
		UpdateFuel(step);

	
		//if(fwp)
		{	
			UpdatePower();
			if(b_engine_on&&!b_starting && m_current_rpm<m_min_rpm)Stall();
		}

		if(bkp)
		{
			UpdateBack();
		}

		if(brp)
			HandBreak();
//////////////////////////////////////////////////////////
	for (int k=0; k<(int)m_doors_update.size(); ++k){
		SDoor* D = m_doors_update[k];
		if (!D->update)
		{
			m_doors_update.erase(m_doors_update.begin()+k);
			--k;
		}
		else
		{
			D->Update();
		}
	}
	
	m_steer_angle=m_steering_wheels.begin()->GetSteerAngle()*0.1f+m_steer_angle*0.9f;
	VERIFY(_valid(m_steer_angle));
}
コード例 #19
0
////////////////////////////////////////////////////////////////////////
///
/// @fn void BonusModifierAbstract::Tick( float temps )
///
/// Default tick behavior for time based modifiers
///
/// @param[in] float temps
///
/// @return void
///
////////////////////////////////////////////////////////////////////////
void BonusModifierAbstract::Tick( float temps )
{
    #ifdef WIN32
    if(!IsFinished())
    {
        mTimeToLive -= temps;
        auto field = mCreator->getField();
        if(field)
        {
            auto game = field->getGame();
            if(game)
            {
                mTimeToLive = 10 - (game->obtenirGameTime()->Elapsed_Time_sec() - mBeginTime);
            }
        }

        if(mTimeToLive < 0)
        {
            Revert();
            Complete();
        }
    }
    #endif
}
コード例 #20
0
ファイル: Source.cpp プロジェクト: ekoschik/SAVEpad
VOID DoWM_COMMAND(HWND hwnd, WPARAM wParam, LPARAM lParam)
{

    switch (HIWORD(wParam))
    {
    case EN_CHANGE:
        if (fileopen) {
            SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)DirtyMsg);
            filedirty = TRUE;
            TimerReset();
        }
        else {
            SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)"File not opened! (save or open new file).");
        }
        break;
    case BN_CLICKED:
        if (fileopen) {
            if (LOWORD(wParam) == BTN_OPENFOLDER)
                OpenFolder(hwnd);
            if (LOWORD(wParam) == BTN_REVERT)
                Revert(hwnd);
        }
        else {
            if (LOWORD(wParam) == BTN_OPENFILE)
                PromptAndLoadFile(hwnd);
        }
        break;
    
    
    
    }


    switch (LOWORD(wParam))
    {
    case ID_FILE_EXIT:
        PostMessage(hwnd, WM_CLOSE, 0, 0);
        break;
    case ID_VIEW_HEADERAREA:
    {
        HMENU hMenu = GetMenu(hwnd);
        statusarea = !statusarea;
        CheckMenuItem(hMenu, ID_VIEW_HEADERAREA, statusarea ? MF_CHECKED : MF_UNCHECKED);
        FullRedraw(hwnd);
        break;
    }
    case ID_VIEW_STATUSBAR:
    {   
        HMENU hMenu = GetMenu(hwnd);
        statusbar = !statusbar;
        CheckMenuItem(hMenu, ID_VIEW_STATUSBAR, statusbar ? MF_CHECKED : MF_UNCHECKED);
        ShowWindow(hStatus, statusbar);
        FullRedraw(hwnd);
        break;
    }

    case ID_VIEW_ORIGINALFILEDATA: 
    {
        HMENU hMenu = GetMenu(hwnd);
        OrigDataWindow = !OrigDataWindow;
        CheckMenuItem(hMenu, ID_VIEW_ORIGINALFILEDATA, statusbar ? MF_CHECKED : MF_UNCHECKED);
        ShowWindow(hOriginalDataWindow, OrigDataWindow);
        FullRedraw(hwnd);

        break;
    }

    }
}
コード例 #21
0
AppearancePrefView::AppearancePrefView(const char* name,
		const BMessenger& messenger)
	:
	BGroupView(name, B_VERTICAL, 5),
	fTerminalMessenger(messenger)
{
	const char* kColorTable[] = {
		B_TRANSLATE_MARK("Text"),
		B_TRANSLATE_MARK("Background"),
		B_TRANSLATE_MARK("Cursor"),
		B_TRANSLATE_MARK("Text under cursor"),
		B_TRANSLATE_MARK("Selected text"),
		B_TRANSLATE_MARK("Selected background"),
		NULL
	};

	fBlinkCursor = new BCheckBox(
		B_TRANSLATE("Blinking cursor"),
			new BMessage(MSG_BLINK_CURSOR_CHANGED));

	fBrightInsteadOfBold = new BCheckBox(
		B_TRANSLATE("Use bright instead of bold text"),
			new BMessage(MSG_BRIGHT_INSTEAD_OF_BOLD_CHANGED));

	fWarnOnExit = new BCheckBox(
		B_TRANSLATE("Confirm exit if active programs exist"),
			new BMessage(MSG_WARN_ON_EXIT_CHANGED));

	BMenu* fontMenu = _MakeFontMenu(MSG_HALF_FONT_CHANGED,
		PrefHandler::Default()->getString(PREF_HALF_FONT_FAMILY),
		PrefHandler::Default()->getString(PREF_HALF_FONT_STYLE));
	fFontField = new BMenuField(B_TRANSLATE("Font:"), fontMenu);

	BMenu* sizeMenu = new (std::nothrow) BPopUpMenu(
		B_TRANSLATE_COMMENT("Custom", "Window size"));
	if (sizeMenu != NULL) {
		TermWindow::MakeWindowSizeMenu(sizeMenu);
		sizeMenu->SetLabelFromMarked(true);
	}
	fWindowSizeField = new BMenuField(B_TRANSLATE("Window size:"), sizeMenu);

	BMenu* encodingMenu = new (std::nothrow) BPopUpMenu("Text encoding");
	if (encodingMenu != NULL) {
		TermWindow::MakeEncodingMenu(encodingMenu);
		encodingMenu->SetLabelFromMarked(true);
	}
	fEncodingField = new BMenuField(B_TRANSLATE("Encoding:"), encodingMenu);

	BPopUpMenu* schemesPopUp = _MakeColorSchemeMenu(MSG_COLOR_SCHEME_CHANGED,
		gPredefinedColorSchemes, gPredefinedColorSchemes[0]);
	fColorSchemeField = new BMenuField(B_TRANSLATE("Color scheme:"),
		schemesPopUp);

	BPopUpMenu* colorsPopUp = _MakeMenu(MSG_COLOR_FIELD_CHANGED, kColorTable,
		kColorTable[0]);

	fColorField = new BMenuField(B_TRANSLATE("Color:"), colorsPopUp);

	fTabTitle = new BTextControl("tabTitle", B_TRANSLATE("Tab title:"), "",
		NULL);
	fTabTitle->SetModificationMessage(
		new BMessage(MSG_TAB_TITLE_SETTING_CHANGED));
	fTabTitle->SetToolTip(BString(B_TRANSLATE(
		"The pattern specifying the tab titles. The following placeholders\n"
		"can be used:\n")) << kTooTipSetTabTitlePlaceholders);

	fWindowTitle = new BTextControl("windowTitle", B_TRANSLATE("Window title:"),
		"", NULL);
	fWindowTitle->SetModificationMessage(
		new BMessage(MSG_WINDOW_TITLE_SETTING_CHANGED));
	fWindowTitle->SetToolTip(BString(B_TRANSLATE(
		"The pattern specifying the window titles. The following placeholders\n"
		"can be used:\n")) << kTooTipSetWindowTitlePlaceholders);

	BLayoutBuilder::Group<>(this)
		.SetInsets(5, 5, 5, 5)
		.AddGrid(5, 5)
			.Add(fTabTitle->CreateLabelLayoutItem(), 0, 0)
			.Add(fTabTitle->CreateTextViewLayoutItem(), 1, 0)
			.Add(fWindowTitle->CreateLabelLayoutItem(), 0, 1)
			.Add(fWindowTitle->CreateTextViewLayoutItem(), 1, 1)
			.Add(fWindowSizeField->CreateLabelLayoutItem(), 0, 2)
			.Add(fWindowSizeField->CreateMenuBarLayoutItem(), 1, 2)
			.Add(fFontField->CreateLabelLayoutItem(), 0, 3)
			.Add(fFontField->CreateMenuBarLayoutItem(), 1, 3)
			.Add(fEncodingField->CreateLabelLayoutItem(), 0, 4)
			.Add(fEncodingField->CreateMenuBarLayoutItem(), 1, 4)
			.Add(fColorSchemeField->CreateLabelLayoutItem(), 0, 5)
			.Add(fColorSchemeField->CreateMenuBarLayoutItem(), 1, 5)
			.Add(fColorField->CreateLabelLayoutItem(), 0, 6)
			.Add(fColorField->CreateMenuBarLayoutItem(), 1, 6)
			.End()
		.AddGlue()
		.Add(fColorControl = new BColorControl(BPoint(10, 10),
			B_CELLS_32x8, 8.0, "", new BMessage(MSG_COLOR_CHANGED)))
		.Add(fBlinkCursor)
		.Add(fBrightInsteadOfBold)
		.Add(fWarnOnExit);

	fTabTitle->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
	fWindowTitle->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
	fFontField->SetAlignment(B_ALIGN_RIGHT);
	fWindowSizeField->SetAlignment(B_ALIGN_RIGHT);
	fEncodingField->SetAlignment(B_ALIGN_RIGHT);
	fColorField->SetAlignment(B_ALIGN_RIGHT);
	fColorSchemeField->SetAlignment(B_ALIGN_RIGHT);

	Revert();

	BTextControl* redInput = (BTextControl*)fColorControl->ChildAt(0);
	BTextControl* greenInput = (BTextControl*)fColorControl->ChildAt(1);
	BTextControl* blueInput = (BTextControl*)fColorControl->ChildAt(2);

	redInput->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
	greenInput->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
	blueInput->SetAlignment(B_ALIGN_RIGHT, B_ALIGN_LEFT);
}
コード例 #22
0
void
ThemeInterfaceView::MessageReceived(BMessage *_msg)
{
	ThemeManager *tman;
	int32 value;
	int32 id;

_msg->PrintToStream();

	switch(_msg->what)
	{
		case B_REFS_RECEIVED:
			_msg->PrintToStream();
			break;

		case kMakeScreenshot:
			AddScreenshot();
			break;

		case kThemeSelected:
			ThemeSelected();
			break;

		case kApplyThemeBtn:
			ApplySelected();
			break;

		case kCreateThemeBtn:
		if (fNameText->IsHidden()) {
			float w = fNameText->Bounds().Width() + 10.0;
			fNameText->Show();
			fNameText->MakeFocus();
			fNewBtn->MoveBy(w, 0);
			fSaveBtn->MoveBy(w, 0);
			fDeleteBtn->MoveBy(w, 0);
			break;
		} else {
			float w = fNameText->Bounds().Width() + 10.0;
			fNameText->Hide();
			fNameText->MakeFocus(false);
			fNewBtn->MoveBy(-w, 0);
			fSaveBtn->MoveBy(-w, 0);
			fDeleteBtn->MoveBy(-w, 0);
		}
		/* FALLTHROUGH */

		case kReallyCreateTheme:
			CreateNew(fNameText->Text());
			break;

		case kSaveThemeBtn:
			SaveSelected();
			break;

		case kDeleteThemeBtn:
			DeleteSelected();
			break;
#if 0
		case kColorsChanged:
		case kGeneralChanged:
		case kFontsChanged:
		{
			BMessenger msgr (Parent());
			msgr.SendMessage(B_PREF_APP_ENABLE_REVERT);
			BMessage changes;
			if (_msg->FindMessage("changes", &changes) == B_OK)
			{
				update_ui_settings(changes);
			}
			break;
		}
#endif
		case B_PREF_APP_SET_DEFAULTS:
		{
			ApplyDefaults();
			break;
		}
		
		case B_PREF_APP_REVERT:
		{
			Revert();
			break;
		}
		
		case B_PREF_APP_ADDON_REF:
		{
			break;
		}

		case kThemeChanged:
		{
/*			BMessage data;
			BMessage names;
			get_ui_settings(&data, &names);
			fColorSelector->Update(data);
			fFontSelector->Refresh();
			fGeneralSelector->Refresh(data);
*/
			break;
		}

		case CB_APPLY:
			tman = GetThemeManager();
			_msg->PrintToStream();
			if (_msg->FindInt32("be:value", &value) < B_OK)
				value = false;
			if (_msg->FindInt32("addon", &id) < B_OK)
				break;

			if (id > -1) {
				tman->SetAddonFlags(id, (tman->AddonFlags(id) & ~Z_THEME_ADDON_DO_SET_ALL) | (value?Z_THEME_ADDON_DO_SET_ALL:0));
			} else {
				// apply globally
				int32 i;
				for (i = fAddonList->CountItems() - 1; i > 0; i--) {
					ThemeAddonItem *item = static_cast<ThemeAddonItem *>(fAddonList->ItemAt(i));
					item->ApplyBox()->SetValue(value);
					tman->SetAddonFlags(item->AddonId(), (tman->AddonFlags(item->AddonId()) & ~Z_THEME_ADDON_DO_SET_ALL) | (value?Z_THEME_ADDON_DO_SET_ALL:0));
				}
			}
			break;

		case CB_SAVE:
			tman = GetThemeManager();
			_msg->PrintToStream();
			if (_msg->FindInt32("be:value", &value) < B_OK)
				value = false;
			if (_msg->FindInt32("addon", &id) < B_OK)
				break;

			if (id > -1) {
				tman->SetAddonFlags(id, (tman->AddonFlags(id) & ~Z_THEME_ADDON_DO_RETRIEVE) | (value?Z_THEME_ADDON_DO_RETRIEVE:0));
			} else {
				// apply globally
				int32 i;
				for (i = fAddonList->CountItems() - 1; i > 0; i--) {
					ThemeAddonItem *item = static_cast<ThemeAddonItem *>(fAddonList->ItemAt(i));
					item->SaveBox()->SetValue(value);
					tman->SetAddonFlags(item->AddonId(), (tman->AddonFlags(item->AddonId()) & ~Z_THEME_ADDON_DO_RETRIEVE) | (value?Z_THEME_ADDON_DO_RETRIEVE:0));
				}
			}
			break;

		case BTN_PREFS:
			tman = GetThemeManager();
			if (_msg->FindInt32("addon", &id) < B_OK)
				break;
			tman->RunPreferencesPanel(id);
			break;

		case kHideSSPulse:
			break;
			
		case kShowSSPulse:
			break;
		
		case skOnlineThemes:
		{
			/*
			ZETA code:
			be_roster->Launch( "application/x-vnd.Mozilla-Firefox", 1,
				(char **)&skThemeURL);
			*/
			if (!be_roster->IsRunning(kHaikuDepotSig)) {
				be_roster->Launch(kHaikuDepotSig);
				snooze(1000000);
			}
			BMessenger msgr(kHaikuDepotSig);
			BMessage message(B_SET_PROPERTY);
			message.AddString("data", "_theme");
			message.AddSpecifier("Value");
			message.AddSpecifier("View", "search terms");
			message.AddSpecifier("Window", (int32)0);
			msgr.SendMessage(&message);
			break;
		}
		default:
		{
			BView::MessageReceived(_msg);
			break;
		}
	}
}
コード例 #23
0
ファイル: Utility.cpp プロジェクト: ohio813/BDArkit
File::CWow64RedirDisable::~CWow64RedirDisable()
{
	 Revert();
}
コード例 #24
0
    // 排序的主函数
    //--第endBound+1 个烧饼后均以排好序,没有必要对排好序的进行交换
    //--因为交换已经排好序的烧饼只能使交换次数增大
    //--如果当前搜索的序列排好序则返回true,否则返回false
    bool Search(int step, int endBound)
    {
        int i, nEstimate;

        m_nSearch++;

        // 估算这次搜索所需要的最小交换次数
        nEstimate = LowerBound(m_ReverseCakeArray, m_nCakeCnt);

        //--遇到相等情形,若对于翻转次数为m_nMaxSwap的结果已经保存,流程继续。
        //--后面再遇到就可以跳过了,因为针对该翻转次数的结果已经保存,
        //无需再计算
        if(step + nEstimate == m_nMaxSwap && flag1 == false);
        else if(step + nEstimate >= m_nMaxSwap)
            return false;

        //重新计算排好序的位置
        int k = endBound;
        while(k > 0 && k == m_ReverseCakeArray[k])
            --k;

        // 如果k=0,说明已经排好序,即翻转完成,输出结果
        //if(IsSorted(m_ReverseCakeArray, m_nCakeCnt))
        if(k == 0)
        {
            if(step < m_nMaxSwap)
            {
                //--当前找到的一个解
                m_nMaxSwap = step;
                for(i = 0; i < m_nMaxSwap; i++)
                    m_SwapArray[i] = m_ReverseCakeArraySwap[i];
            }
            else if(step == m_nMaxSwap && flag1 == false)
            {
                //--只有第一次碰到step == m_nMaxSwap时才做如下操作
                //--因为m_nMaxSwap可能是最小翻转次数,因此要记录此次结果
                //--后面再碰到相等时,可以忽略,因为不用重复保存结果
                for(i = 0; i < m_nMaxSwap; i++)
                    m_SwapArray[i] = m_ReverseCakeArraySwap[i];
                flag1 = true;
            }
            return true;
        }

        // 递归进行翻转,k之后已经排好序的位置就不用翻转了
        std::vector<node> swapIndexScore;
        //对翻转后的序列进行评估,评估它到排序好的序列之间的距离,优先搜索距离小的序列
        for(i = 1; i <=k; i++)
        {
            struct node tnode;
            tnode.index = i;
            tnode.score = nEstimate;//原始序列的分数
            //求翻转后的分数,翻转后只有翻转位置影响分数的大小
            if(i != m_nCakeCnt - 1)
            {
                if(abs(m_ReverseCakeArray[i] - m_ReverseCakeArray[i+1]) == 1)
                    tnode.score++;
                if(abs(m_ReverseCakeArray[0] - m_ReverseCakeArray[i+1]) == 1)
                    tnode.score--;
            }
            else
            {
                if(m_ReverseCakeArray[i] == i)tnode.score++;
                if(m_ReverseCakeArray[0] == i)tnode.score--;
            }
            swapIndexScore.push_back(tnode);
        }
        //按照得分小到大排序,得分小的优先搜索
        sort(swapIndexScore.begin(), swapIndexScore.end(),comp);

        for(i = 0; i < swapIndexScore.size() ; i++)
        {
            Revert(m_ReverseCakeArray, 0, swapIndexScore[i].index);
            m_ReverseCakeArraySwap[step] = swapIndexScore[i].index;
            bool isDone = Search(step + 1, k);
            Revert(m_ReverseCakeArray, 0, swapIndexScore[i].index);
            //如果该搜索序列有序,那么其他翻转方案肯定会导致无序,因此不需要搜索
            if(isDone == true)break;
        }

//        for(i = 1; i <=k ; i++)
//        {
//            Revert(m_ReverseCakeArray, 0, i);
//            m_ReverseCakeArraySwap[step] = i;
//            Search(step + 1, k);
//            Revert(m_ReverseCakeArray, 0, i);
//        }
        return false;
    }
コード例 #25
0
ファイル: Proclist.hpp プロジェクト: CyberShadow/FAR
		~DebugToken() { Revert(); }
コード例 #26
0
void MonitorEx::Shutdown( void ) {
	Revert();
	videoModeList.Clear();
}
コード例 #27
0
ファイル: WinWow64.cpp プロジェクト: wang1986one/duipcmgr
	CWinWow64FsRedirectionGuard::~CWinWow64FsRedirectionGuard()
	{
		Revert();
	}