Example #1
0
	//-------------------------------------------------------------------------
	MapDemoScreen::~MapDemoScreen( )
	//-------------------------------------------------------------------------
	{
		deleteobject( mMap );
		deleteobject( mOpenStreetMapSource );
		deleteobject( mGoogleStreetMapSource );
		deleteobject( mGoogleAerialMapSource );
		deleteobject( mGoogleHybridMapSource );
	}
Example #2
0
// Note this function is RECURSIVE.
// deletes the object before the cursor. If the measure is empty it moves to the end of the previous measure and calls itself.
// after deleting an object it backs-up on any rhythm pattern being followed.
void
deletepreviousobject (GtkAction* action, DenemoScriptParam *param)
{

  /* remove the object preceding the cursor, within the current measure */
  if (Denemo.project->movement->cursor_x)
    {
      /* Then move the cursor back */
      movecursorleft (NULL, NULL);
      DenemoObject *curObj = (DenemoObject*)Denemo.project->movement->currentobject->data;
      gboolean anote = (curObj->type == CHORD) && ((chord*)curObj->object)->notes;
      /* And delete */
      deleteobject (NULL, NULL);
      /* if you are following a rhythmic pattern then backup the pattern */
      if ((Denemo.project->mode & (INPUTEDIT) && Denemo.project->rstep))
        {
          if (anote)
            Denemo.project->rstep = Denemo.project->rstep->prev;          /* rstep list of elements is circular */
          if (Denemo.project->cstep)
            {
              RhythmPattern *cursnip = (RhythmPattern *)Denemo.project->currhythm->data;
              Denemo.project->cstep = Denemo.project->cstep->prev ? Denemo.project->cstep->prev : g_list_last (Denemo.project->cstep);// cstep list of DenemoObjects is not circular
            }
          if (((RhythmElement *) Denemo.project->rstep->data)->highlightlabel)
            {
                RhythmPattern *cursnip = (RhythmPattern *)Denemo.project->currhythm->data;
                set_rhythm_label (cursnip, ((RhythmElement *) Denemo.project->rstep->data)->highlightlabel);
            }
        }

    }
  else
    {                           /* go to the previous measure, go to end of it, and start deleting there */
      if (Denemo.project->movement->currentmeasure->prev)
        {
          DenemoScriptParam param;

          do
            {
              movetomeasureleft (NULL, &param);
              //go to end
              while (Denemo.project->movement->currentobject && (Denemo.project->movement->currentobject->next))
                {
                  Denemo.project->movement->currentobject = Denemo.project->movement->currentobject->next;
                  Denemo.project->movement->cursor_x++;
                }
            }
          while (param.status && !Denemo.project->movement->currentobject);


          if (Denemo.project->movement->currentobject)
            {
              movecursorright (NULL, NULL);
              deletepreviousobject (NULL, NULL);//RECURSIVE!!
            }
        }
    }
}
Example #3
0
	//-------------------------------------------------------------------------
	MapWidget::~MapWidget( )
	//-------------------------------------------------------------------------
	{
		if ( mViewport )
		{
			mViewport->removeListener( this );
			deleteobject( mViewport );
		}
	}
Example #4
0
	//-------------------------------------------------------------------------
	void AppScreenBase::keyReleaseEvent( int keyCode, int nativeCode )
	//-------------------------------------------------------------------------
	{
		if ( mKeyTimer != NULL )
		{
			Environment::getEnvironment( ).removeTimer( mKeyTimer );
			deleteobject( mKeyTimer );
		}
		(void)handleKeyRelease( keyCode );
	}
Example #5
0
	//-------------------------------------------------------------------------
	void MapWidget::setViewport( MapViewport* viewport )
	//-------------------------------------------------------------------------
	{
		if ( mViewport )
		{
			mViewport->removeListener( this );
			deleteobject( mViewport );
		}
		mViewport = viewport;
		mViewport->addListener( this );
	}
Example #6
0
//-------------------------------------------------------------------------
extern "C" int MAMain( )
//-------------------------------------------------------------------------
{
	HelloMap::HelloMapMoblet* moblet = newobject( HelloMap::HelloMapMoblet, new HelloMap::HelloMapMoblet( ) );

	Moblet::run( moblet );

	deleteobject( moblet );
	MapCache::shutdown( );

	MemoryMgr::dump( );
	return 0;
}
Example #7
0
	//-------------------------------------------------------------------------
	AppScreenBase::~AppScreenBase( )
	//-------------------------------------------------------------------------
	{
		MessageMgr::get( )->removeListener( this );

		if ( mKeyTimer != NULL )
		{
			Environment::getEnvironment( ).removeTimer( mKeyTimer );
			deleteobject( mKeyTimer );
		}

		if ( mAppFrame != NULL )
		{
			mAppFrame->getChildren( ).clear( );
			deleteobject( mAppFrame );
		}

		if ( mContentFrame != NULL )
		{
			mContentFrame->getChildren( ).clear( );
			deleteobject( mContentFrame );
		}
		deleteobject( mSoftKeyBar );
	}
Example #8
0
	//-------------------------------------------------------------------------
	bool AppScreenBase::handleKeyPress( int keyCode )
	//-------------------------------------------------------------------------
	{
		if ( this != Screen::currentScreen )
		{
			if ( mKeyTimer != NULL )
			{
				Environment::getEnvironment( ).removeTimer( mKeyTimer );
				deleteobject( mKeyTimer );
			}
			return true;
		}

		if ( mSoftKeyBar->handleKeyPress( keyCode ) )
			return true;

		return false;
	}
Example #9
0
void objecttimetolive(void)
  {
  int count;

  count=0;
  while (count<numofobjects)
    {
    if (object[count].timetolive<10000)
      object[count].timetolive--;
    while (count<numofobjects && object[count].timetolive<0)
      {
      deleteobject(count);

      if (object[count].timetolive<10000)
        object[count].timetolive--;
      }
    count++;
    }
  }
Example #10
0
	//-------------------------------------------------------------------------
	HelloMapMoblet::~HelloMapMoblet( )
	//-------------------------------------------------------------------------
	{
		deleteobject( mScreen );
	}
Example #11
0
	//-------------------------------------------------------------------------
	MapDemoMoblet::~MapDemoMoblet( )
	//-------------------------------------------------------------------------
	{
		deleteobject( mScreen );
	}